您的位置:首页 > 产品设计 > UI/UE

selenium登录后获取cookie使用requests请求数据

2019-06-10 11:04 1896 查看
版权声明:菜鸟学习,请多多指教. https://blog.csdn.net/weixin_43784462/article/details/91364344

最近在工作中有这么个需求,手工登录获取cookie后再使用requets爬取数据,在此记录下.

废话不多说,直接上代码:

#!D:\Python\Python36 python
# encoding: utf-8
"""
@author: sy_dove
@license: (C) Copyright 2019-2020, Node Supply Chain Manager Corporation Limited.
@contact: sydove08152@gmail.com
@file: yttytt.py
@time: 2019/6/2 23:01
@desc:
"""
import requests
from selenium import webdriver
import time

# 使用selenium打开网址,然后让用户完成手工登录,再获取cookie
url = 'https://passport.jd.com/new/login.aspx'
driver = webdriver.Chrome()
driver.get(url=url)
time.sleep(30)
driver.refresh()
c = driver.get_cookies()
print(c)
cookies = {}
# 获取cookie中的name和value,转化成requests可以使用的形式
for cookie in c:
cookies[cookie['name']] = cookie['value']

print(cookies)
driver.quit()
time.sleep(5)

headers = {
'authority': 'www.jd.com',
'method': 'GET',
'path': '/',
'scheme': 'https',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'cache-control': 'max-age=0',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36',

}
# 使用该cookie完成请求
response = requests.get(url='https://cart.jd.com/cart.action', headers=headers, cookies=cookies)
print(response.text)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐