Selenium Chrome WebDriver配置代理访问的两种方式

Selenium Chrome Webdriver配置代理访问的两种方式


前言

开发爬虫程序,如果不做代理设置,本机的外网IP很容易被网站封掉,导致不能持续进行数据抓取。

而Selenium作为动态网页抓取的利器,我们有必要了解一下,如果对它进行代理设置,并正常访问网页。

方法一 add_argument()方式

示例代码如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

myProxy = "103.240.35.229:54743"

options = Options()
options.binary_location = '/usr/bin/google-chrome'
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
options.add_argument('--proxy-server=%s' % myProxy)


driver = webdriver.Chrome(executable_path='./chromedriver', chrome_options=options)
driver.get("https://www.xtuz.net")
driver.implicitly_wait(5)
driver.save_screenshot('xtuz.png')
driver.quit()

该方法类似在命令行的方式,直接通过--proxy-server这个参数传给chrome, 后者则以这个地址来进行访问。从代码开发的角度来说,非常简单方便。

方法二 set_capability()方式

示例代码如下:

from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType
from selenium.webdriver.chrome.options import Options

myProxy = "103.240.35.229:54743"

p = {
        'proxyType': 'MANUAL',
        'httpProxy': myProxy,
        'ftpProxy': myProxy,
        'sslProxy': myProxy,
        'noProxy':''}

options = Options()
options.binary_location = '/usr/bin/google-chrome'
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')

options.set_capability("proxy", p)
driver = webdriver.Chrome(executable_path='./chromedriver', chrome_options=options)
driver.get('https://www.xtuz.net')
driver.implicitly_wait(5)
driver.save_screenshot('www.xtuz.net.png')
driver.quit()

这种方式主要通过set_capability()对代理信息进行配置,相比方法一来说,可以选择配置的类型更灵活和丰富。

验证代理生效

我们查看兔子先生的后台访问日志,可以看到有来自该代理服务器的访问请求,如图

后台数据记录

从User-Agent标识很容易看到就是我们的爬虫程序进行的访问。

参考资料


相关主题:
相关推荐
  1. 天津市津南区咸水沽第四小学
  2. 提高Tesseract文字识别率的三种方法
  3. 一根神奇的羽毛
  4. 淄博市张店区世纪英才外语学校(小学部)
  5. 修水县琴海学校
  6. 武汉推出越王勾践剑交通卡
  7. 上海崇明县港沿中心校
  8. 柳城县小红帽第二幼儿园 - 柳州市幼儿园黄页
  9. 七色光智能幼儿园 - 廊坊幼儿园黄页
  10. 脱单!武汉的相亲角在哪你知道吗?
  11. 上海市浦东新区上南三村幼儿园 - 上海幼儿园黄页
  12. 邯郸市成安县向阳小学
  13. Python Selenium find_element_by_css_selector 如何处理多个class
  14. 易中天给英雄武汉的一首诗 - 武汉新鲜事
  15. 潍坊市育华学校(小学部)
  16. Ubuntu中如何安装pip3
  17. 厦门华锐莱普顿学校
  18. 骆驼妈妈
  19. 中山市坦洲镇启明学校(小学部)
  20. 北京市大兴区黄村镇第一中心幼儿园 - 北京幼儿园黄页
  21. 瑞金市清溪初中
  22. 沈阳市铁西区翟家初级中学
  23. 温州市瓯海区第一高级中学(瓯海一高)
  24. 康熙题匾
  25. 喜羊羊与灰太郎之火攻羊村
  26. Python公开课 - 新项目选择Python2还是Python3
  27. Python公开课 - 数据抓取之Ajax
  28. 警方通报:武汉男子持刀至五死一伤,嫌犯已跳桥
  29. 厦门同安第六中学
  30. 央媒聚焦!国庆假期173.78万人次打卡大美黄陂
  31. Python基础视频教程 - 七天学会Python
  32. 贪吃的小老鼠
  33. 湖北将发放消费券 - 武汉新鲜事
  34. 桃蹊幼儿园 - 成都市幼儿园黄页
  35. Ubuntu 编译 libsodium 以支持 chacha20 加密方式
  36. Python公开课 - 爬虫识别滑动验证码
  37. 青海省西宁市铁路分局西宁职工子弟第三中学小学部
  38. 南征北战
  39. 湖南省长沙市植基小学
  40. 事发武汉农夫山泉矿泉水内惊现大量虫卵
  41. 昆明市盘龙区佳恩贝幼儿园 - 昆明市幼儿园黄页
  42. 刻舟求剑
  43. 上海市民办育辛高级中学
  44. 武汉女子网上做兼职被骗六十五万
  45. 重庆市大渡口区实验小学幼儿园 - 重庆幼儿园黄页
  46. 一钱不值
  47. VPS - OpenVZ主机编译代码发现内存不足的问题
  48. 河东区第七中学
  49. 呼和浩特市土默特左旗化肥福娃幼儿园(化肥路) - 呼和浩特幼儿园黄页
  50. 幼儿园入学准备物品清单
  51. 沈阳市浑南区安琪幼儿园 - 沈阳幼儿园黄页
  52. 上海长宁国际学校(浦东中学部)
  53. 上海市浦东新区万德小学
  54. 三 兄 弟
  55. 沈阳市同泽高级中学女中部(同泽女中)
  56. 奥迪客户不满加价,被武汉4S店销售群殴
  57. Python实战 - 爬虫代理IP池的实现
  58. 多子饿死爸的典故
  59. 百名网媒总编辑登上知音号欣赏武汉夜色
  60. 济南市周官屯小学
  61. 黄埔区南岗镇沧联村榕村幼儿园 - 广州幼儿园黄页