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

 更新时间:2018年11月29日 11:04:25   作者:Kosmoo  
这篇文章主要介绍了selenium+python设置爬虫代理IP的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1. 背景

在使用selenium浏览器渲染技术,爬取网站信息时,一般来说,速度是很慢的。而且一般需要用到这种技术爬取的网站,反爬技术都比较厉害,对IP的访问频率应该有相当的限制。所以,如果想提升selenium抓取数据的速度,可以从两个方面出发:

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

第二,使用多线程 + 代理IP, 这种方式,需要电脑有足够的内存和充足稳定的代理IP 。

2. 为chrome设置代理IP

from selenium import webdriver
chromeOptions = webdriver.ChromeOptions()

# 设置代理
chromeOptions.add_argument("--proxy-server=http://202.20.16.82:10152")
# 一定要注意,=两边不能有空格,不能是这样--proxy-server = http://202.20.16.82:10152
browser = webdriver.Chrome(chrome_options = chromeOptions)

# 查看本机ip,查看代理是否起作用
browser.get("http://httpbin.org/ip")
print(browser.page_source)

# 退出,清除浏览器缓存
browser.quit()

注意事项:

第一,代理IP最好是稳定的固定IP,不要选动态IP。我们常用的爬虫IP是高匿名动态IP,是通过拨号动态产生的,时效性很短,一般在1~3分钟。对于scrapy这种并发度很高,又不需要登录的爬虫来说,非常合适,但是在浏览器渲染类爬虫中并不适用。

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

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

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

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

参考文章:

Selenium chrome配置代理Python版:https://www.jb51.net/article/151634.htm

GitHub:https://github.com/RobinDev/Selenium-Chrome-HTTP-Private-Proxy

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • PIP和conda 更换国内安装源的方法步骤

    PIP和conda 更换国内安装源的方法步骤

    这篇文章主要介绍了PIP和conda 更换国内安装源的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Python通过90行代码搭建一个音乐搜索工具

    Python通过90行代码搭建一个音乐搜索工具

    这篇文章主要介绍了Python通过90行代码搭建一个音乐搜索工具,需要的朋友可以参考下
    2015-07-07
  • Python 使用指定的网卡发送HTTP请求的实例

    Python 使用指定的网卡发送HTTP请求的实例

    今天小编就为大家分享一篇Python 使用指定的网卡发送HTTP请求的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python安装依赖(包)模块方法详解

    Python安装依赖(包)模块方法详解

    Python模块,简单说就是一个.py文件,其中可以包含我们需要的任意Python代码。这篇文章主要介绍了Python安装依赖(包)模块方法,需要的朋友可以参考下
    2020-02-02
  • 利用python实现命令行有道词典的方法示例

    利用python实现命令行有道词典的方法示例

    平常都是用终端敲, 有时候不会的词语也懒得打开词典了,干脆搞了个简单的查词命令。下面这篇文章主要给大家介绍了利用python实现命令行有道词典的方法示例,需要的朋友可以参考借鉴,一起来看看吧。
    2017-01-01
  • pycharm 配置svn的图文教程(手把手教你)

    pycharm 配置svn的图文教程(手把手教你)

    这篇文章主要介绍了pycharm 配置svn的图文教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • python datetime时间格式的相互转换问题

    python datetime时间格式的相互转换问题

    这篇文章主要介绍了python datetime时间格式的相互转换问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • pytest conftest.py文件的使用讲解

    pytest conftest.py文件的使用讲解

    这篇文章主要介绍了pytest的conftest.py文件的使用讲解,帮助大家更好的理解和学习使用pytest框架,感兴趣的朋友可以了解下
    2021-03-03
  • Python数据提取-lxml模块

    Python数据提取-lxml模块

    这篇文章主要介绍了Python数据提取-lxml模块,lxml模块和xpath语法的关系,lxml模块的使用场景、lxml模块的安装、谷歌浏览器xpath helper插件的安装和使用等相关内容介绍,需要的朋友可以参考一下
    2022-01-01
  • Pytest运行及其控制台输出信息

    Pytest运行及其控制台输出信息

    这篇文章主要介绍了Pytest运行及其控制台输出信息,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09

最新评论