1.request进阶
request会用到headers,会放在文件的请求头,有可能会放一些安全验证的东西。
2.模拟用户登录-处理cookie
import requests
session = requests.session() #会话
data = {
'loginName': '13667357792',
'password': 'qq576871367'
}
#登录
url = 'https://passport.17k.com/ck/user/login'
session.post(url,data=data)
#print(resp)
#print(resp.cookies) #得到cookies
resp = session.get('https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919') #得到书架上
print(resp.json())
resp = requests.get('https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919')
print(resp.json()) #错误的方式
resp = requests.get('https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919',headers={'Cookie': 'GUID=3d8ff55b-6d6c-4f5f-83ff-15b1b7bb5aa5; BAIDU_SSP_lcr=https://cn.bing.com/; sajssdk_2015_cross_new_user=1; Hm_lvt_9793f42b498361373512340937deb2a0=1641388387; c_channel=0; c_csc=web; accessToken=avatarUrl%3Dhttps%253A%252F%252Fcdn.static.17k.com%252Fuser%252Favatar%252F13%252F33%252F99%252F87819933.jpg-88x88%253Fv%253D1641369082000%26id%3D87819933%26nickname%3D%25E6%259C%2597%25E9%25A3%258E13%26e%3D1656942010%26s%3D5a733cc04553b068; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2287819933%22%2C%22%24device_id%22%3A%2217e2a5f2b9a1f0-06ee3da9e48f0a-4c607a68-1327104-17e2a5f2b9b570%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_referrer%22%3A%22%22%2C%22%24latest_referrer_host%22%3A%22%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%7D%2C%22first_id%22%3A%223d8ff55b-6d6c-4f5f-83ff-15b1b7bb5aa5%22%7D; Hm_lpvt_9793f42b498361373512340937deb2a0=1641394201'})
print(resp.json()) #改变headers中cookie方式,可以成功
3.总结
今天看了一点点。。。。