问 题
我原来是用这个:
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)
扫一扫关注IT屋
微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起