python爬虫和selenium怎么使用http代理

本文介绍如何通过提高抓取频率及解决验证信息、使用多线程结合HTTP代理的方法来提升Selenium爬虫的速度,并提供了代码示例。

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

第1:提高抓取频率,出现验证信息时进行想办法解决,一般是验证码或者用户登录

第2:使用多线程 +http代理, 这种方式,需要终端有足够的内存和充足稳定的代理IP 

 

以下是部分代码仅供参考:

from selenium import webdriver
chromeOptions = webdriver.ChromeOptions()
# 设置代理
chromeOptions.add_argument("--proxy-server=http://168.168.16.168:10168")
# 一定要注意,=两边不能有空格,不能是这样--proxy-server = http://168.168.16.168:10168
browser = webdriver.Chrome(chrome_options = chromeOptions)
# 查看本机ip,查看代理是否起作用
browser.get("http://httpbin.org/ip")
print(browser.page_source)
# 退出,清除浏览器缓存
browser.quit()

你需要注意的几个方面:

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

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

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

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值