代理IP知识 / 内容详情
selenium和python爬虫怎么使用代理IP
站大爷
官方
2022-6-30 15:47:09
在使用selenium浏览器渲染技术,爬取网站信息时,一般来说,速度是很慢的,而且一般需要用到这种技术爬取的网站,反爬技术都比较厉害,对IP的访问频率应该有相当的限制。所以,如果想提升selenium抓取数据的速度,可以从两个方面出发:
第一,提高抓取频率,出现验证信息时进行想办法解决,一般是验证码或者用户登录。
第二,使用多线程 + 代理IP, 这种方式,需要终端有足够的内存和充足稳定的代理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( ) 清除浏览器缓存。