使用phantomjs访问网站,高度自定义headers

来源:互联网 发布:广东软件行业协会 招聘 编辑:程序博客网 时间:2024/06/02 05:42

由于在遇到的一个网站需要cookie才能访问成功,所以研究了一下如何给phantomjs设置cookie。既然能设置cookie,那么其余的头信息应该也能设置,下面就给大家说明如何实现。

下面是我们要附带给phantomjs浏览器的headers信息。

headers = {    'accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",    'accept-language': "zh-CN,zh;q=0.8",    'cache-control': "no-cache",    'cookie': "miid=165455699654368GLfgXOlF-KOKx",    'upgrade-insecure-requests': "1",    # 使用phantomjs时,如果加了下面这句,有可能就会收到压缩后的数据    # 如果你在自定义headers后收到了乱码,尝试禁止接收gzip格式数据    'accept-encoding': "gzip, deflate, br", }


重点来了。

# 构造PHANTOMJS对象以自定义设置phan = dict(DesiredCapabilities.PHANTOMJS)# 禁止加载图片phan["phantomjs.page.settings.loadImages"] = laodpic# 设置完整的请求头,遍历headers这个字典,使用format构造所有的customHeaders的值for key,value in get_headers().items():    capability_key = 'phantomjs.page.customHeaders.{}'.format(key)    phan[capability_key] = value        # 可以另外设置user-agent,我们这里引入自定义函数,每次构造的时候都使用不同的user-agent    # 本次设置可以覆盖上面的设置    phan["phantomjs.page.settings.userAgent"] = (get_useragent())
原创粉丝点击