,,selenium+python设置爬虫代理IP的方法

,,selenium+python设置爬虫代理IP的方法

本文主要介绍在selenium python中设置爬虫代理IP的方法,通过示例代码进行了非常详细的介绍,对大家的学习或工作有一定的参考价值。有需要的朋友就跟着下面的边肖学习吧。

1. 背景

一般来说,使用selenium浏览器渲染技术抓取网站信息时,速度很慢。而且一般需要用这种技术抓取的网站都有很强的反抓取技术,IP的访问频率应该是相当有限的。所以,如果想提高selenium的数据抓取速度,可以从两个方面入手:

第一,提高抓取频率,出现验证信息就破解,一般是验证码或者用户登录。

其次,使用多线程代理IP。这样电脑就需要足够的内存和足够稳定的代理IP。

2. 为chrome设置代理IP

从selenium导入web驱动程序

chromeOptions=webdriver。ChromeOptions()

#设置代理

chrome options . add _ argument('-proxy-server=http://202 . 20 . 16 . 82:10152 ')

#一定要注意=两边不能有空格,不能是这样的-proxy-server=http://202 . 20 . 16 . 82:10152

浏览器=webdriver。chrome(chrome _ options=chrome options)

#检查本地ip以查看代理是否工作。

browser . get(' http://http bin . org/IP ')

打印(浏览器.页面_源)

#退出并清除浏览器缓存。

browser.quit()

注意事项:

第一,代理IP应该是稳定的固定IP,而不是动态IP。我们常用的爬虫IP是高度匿名的动态IP,通过拨号动态生成,时效性很短,一般1~3分钟。非常适合scrapy这种高并发、无需登录的爬虫,但不适合浏览器渲染爬虫。

第二,代理IP的速度。因为selenium爬虫采用浏览器渲染技术,所以速度很慢。如果选择的代理IP速度慢,会大大增加爬行时间。

第三,电脑内存要足够大。由于chrome占用大量内存,在高并发的情况下,很容易造成浏览器崩溃,也就是程序崩溃。

第四,在程序结束时,调用browser.quit()清除浏览器缓存。

3. 需要用户名密码验证的代理

参考文章:

硒铬配置代理Python版本:https://www.jb51.net/article/151634.htm

吉图布:https://github.com/RobinDev/Selenium-Chrome-HTTP-Private-Proxy

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: