当前位置: 首页 > 工具软件 > phan > 使用案例 >

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

司空叶五
2023-12-01

由于在遇到的一个网站需要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())
 类似资料: