最近因为工作需要使用selenium+phantomjs无头浏览器,其中遇到了一些坑,记录一下,尤其是关于phantomjs设置代理的问题。
基本使用
首先在python中导入使用的包,其中webdriver是要创建无头浏览器对象的模块,DesiredCapabilites这个类是浏览器对象的一些选项设置。
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
# 初始化浏览器对象
desired_cap = DesiredCapabilities.PHANTOMJS.copy()
driver = webdriver.PhantomJS(desired_capabilities=desired_cap)
修改请求头
在使用爬虫的过程中我们需要修改请求投中的user-agent防止被反爬,修改过程如下
desired_cap = DesiredCapabilities.PHANTOMJS.copy()
# 修改请求头中的UA
desired_cap['phantomjs.page.settings.userAgent'] = 'xxxxxx'
# 设置其他请求投信息,其中key为要修改的请求投键名
desired_cap['phantomjs.page.customHeaders.{}'.format(key)] = 'xxxx'
driver = webdriver.PhantomJS(desired_capabilities=desired_cap)