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


Posted in Python onNovember 29, 2018

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://3water.com/article/151634.htm

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

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

Python 相关文章推荐
python网络编程学习笔记(五):socket的一些补充
Jun 09 Python
使用Python编写一个模仿CPU工作的程序
Apr 16 Python
python实现在控制台输入密码不显示的方法
Jul 02 Python
Python基于checksum计算文件是否相同的方法
Jul 09 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
Python函数参数操作详解
Aug 03 Python
在Pycharm terminal中字体大小设置的方法
Jan 16 Python
python实现关闭第三方窗口的方法
Jun 28 Python
python中pip的使用和修改下载源的方法
Jul 08 Python
Python 处理文件的几种方式
Aug 23 Python
pytorch实现建立自己的数据集(以mnist为例)
Jan 18 Python
调整Jupyter notebook的启动目录操作
Apr 10 Python
Pycharm取消py脚本中SQL识别的方法
Nov 29 #Python
利用python GDAL库读写geotiff格式的遥感影像方法
Nov 29 #Python
在python中利用GDAL对tif文件进行读写的方法
Nov 29 #Python
使用python判断你是青少年还是老年人
Nov 29 #Python
pycham查看程序执行的时间方法
Nov 29 #Python
pycharm在调试python时执行其他语句的方法
Nov 29 #Python
Selenium chrome配置代理Python版的方法
Nov 29 #Python
You might like
PHP 图像尺寸调整代码
2010/05/26 PHP
php生成略缩图代码
2012/07/16 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
yepnope.js 异步加载资源文件
2011/09/08 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
node.js中的path.sep方法使用说明
2014/12/08 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
通过原生JS实现为元素添加事件的方法
2016/11/23 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
vue和webpack项目构建过程常用的npm命令详解
2018/06/15 Javascript
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
Win8.1下安装Python3.6提示0x80240017错误的解决方法
2018/07/31 Python
python numpy中cumsum的用法详解
2019/10/17 Python
Python中import导入不同目录的模块方法详解
2020/02/18 Python
在python中list作函数形参,防止被实参修改的实现方法
2020/06/05 Python
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
生物制药自我鉴定
2014/01/25 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
写自招自荐信的绝招!
2019/04/19 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫