python - 如何用driver.get代替requests.get

查看:775
本文介绍了python - 如何用driver.get代替requests.get的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我原来是用这个:

requests.get(url, headers = headers, cookies = cookie)

来爬网页的,现在换成driver.get(url),但是不知道怎么附加headers和cookies了,搜了一下别人的说是可以用driver.add_cookie(cookie),但是会报一大堆错误(很长...)。想知道怎么替换掉requests.get的写法附上cookies。

解决方案

1.driver是用的什么驱动呢,比如以phantomjs为例,可以这样设置的:

from selenium import webdriver
source_url='http://huaban.com/boards/28195582/'
headers={
    'Host':'huaban.com',
    'Pragma':'no-cache',
    'Cache-Control':'no-cache',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36',
    'Cookie':'xxxxxx'
}
cap = webdriver.DesiredCapabilities.PHANTOMJS
cap["phantomjs.page.settings.userAgent"] = headers['User-Agent']    #设置请求header头信息
cap["phantomjs.page.settings.loadImages"] = False                   #禁止加载图片
cap["phantomjs.page.customHeaders.Host"]=headers['Host']
cap["phantomjs.page.customHeaders.Pragma"]=headers['Pragma']
cap["phantomjs.page.customHeaders.Cookie"]=headers['Cookie']
driver = webdriver.PhantomJS(desired_capabilities=cap)
driver.get(source_url)

这篇关于python - 如何用driver.get代替requests.get的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆