Python 爬虫设置代理的方式有很多, 比如给urlib、request、selenium等方式设置代理,这部分的细节代码在网上一搜一大堆。那么问题来了,比如你要抓取淘宝或模拟验证码操作登录,是不是要采用这种方式(Selenium + Chromedriver + Chrome)实现呢?
以上就是结合(Selenium + Chromedriver + Chrome)实现的淘宝商品数据爬取,在该实例代码中,并没有设置代理ip的部分代码, 说明当爬取超过一定次数之后,将无法访问淘宝,也就是本机ip被暂时封禁。 那么使用该种技术如何设置代理呢? Selnium 同样也可以设置代理,包括两种方式,一种是有界面浏览器,以 Chrome 为例;另 是无界面浏览器Chrome headless
环境准备
本文所用环境:
- CentOS 7.8
- Python 2.7.5
- Selenium 3.141.0
- Chromedriver 83.0.4103.14
- Google Chrome 83.0.4103.116
参考 CentOS7 安装Chrome
参考 centos7 安装chromedriver
参考 Python环境安装
不需要账号密码的代理设置(Windows)
from selenium import webdriver
proxy = '127.0.0.1:9743'
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=http://' + proxy