如何用driver.get代替requests.get

我原来是用这个:

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

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

阅读 5.9k
1 个回答

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)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题