返回cookie为空
import requests#会话
session = requests.session()
#1.登录
url = 'http://api.cbecbe.com/api/student/login'
data = {}
data['username'] = '15234855683'
data['password'] = '123456'
session.post(url, data = data)
#2.拿数据
res = session.get('http://api.cbecbe.com/gameapi/international/gamemarket/findUserGoods?refGameRoomId=233&projectVersion=4&type=1')
print(res.text)
刚学爬虫的小白,对cookie这里还不是很懂。参照教程用自己参加比赛的网址试了试,结果返回的cookie为空,然后返回的res也是HTTP401。 加个请求头就行
headers = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
'Cache-Control': 'max-age=0',
'Connection': 'keep-alive',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54',
}
下面是返回的内容
{"key":null,"success":true,"message":"操作成功!","code":200,"result":{"access_token":"200900f7-35a5-46c5-8d05-87d8315f21a8","token_type":"bearer","refresh_token":"839a2195-1e86-4e86-b143-d04de4fb9946","expires_in":2591999,"scope":"all","userInfo":{"password":"$2a$10$kToKVJxECoJ00lfxrBGGZOrMlambDmNuFluy09urTXYUUy.Wbusni","username":"15234855683","authorities":[],"accountNonExpired":true,"accountNonLocked":true,"credentialsNonExpired":true,"enabled":true,"id":"11969","refClassId":null,"realname":"国贸技能小分队","salt":null,"avatar":null,"birthday":null,"sex":1,"email":null,"phone":"15234855683","orgCode":null,"status":null,"delFlag":null,"createBy":null,"createTime":"2022-07-03 21:34:42","updateBy":null,"updateTime":"2022-08-16 16:31:57","activitiSync":null,"loginType":"STUDENT"}},"timestamp":1660657604281} import requests
url = 'http://api.cbecbe.com/api/student/login'
data = {}
data['username'] = '15234855683'
data['password'] = '123456'
headers = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
'Cache-Control': 'max-age=0',
'Connection': 'keep-alive',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54',
}
res = requests.post(url, data = data, headers = headers)
print(res.text) ZhKQYu 发表于 2022-8-16 21:48
我想爬取的不是登录后返回的内容,而是登录之后另一个url里的内容。↓
http://api.cbecbe.com/gameapi/international/gamemarket/findUserGoods?refGameRoomId=233&projectVersion=4&type=1
不过还是感谢大佬帮忙 本帖最后由 ZhKQYu 于 2022-8-16 22:00 编辑
DaggerRoo 发表于 2022-8-16 21:55
我想爬取的不是登录后返回的内容,而是登录之后另一个url里的内容。↓
http://api.cbecbe.com/gameapi/i ...
是通过cookies登录吗 ZhKQYu 发表于 2022-8-16 21:58
是通过cookies登录吗
我想通过cookie登录,可是我“踩点”得到的cookie是空的,这就是我想问的问题{:10_243:} 本帖最后由 DaggerRoo 于 2022-8-16 22:06 编辑
1 这个url没有返回set-cookie,所以print cookie为空。
只是想看看cookie长什么样,换成百度就行:
suchocolate 发表于 2022-8-17 01:04
这个url没有返回set-cookie,所以print cookie为空。
只是想看看cookie长什么样,换成百度就行:
那请问要怎么爬取cookie为空但又需要登录的URL呢{:10_254:} DaggerRoo 发表于 2022-8-17 09:09
那请问要怎么爬取cookie为空但又需要登录的URL呢
如果网站想用cookie保持session状态,就会给你发set-cookie或者记录你上报的cookie(之前拿到的)。
但你这个url就没发set-cookie,也没说接受你的cookie,返回200什么的,就说明这个url不是返回cookie的页面,或者网站故障。建议你直接用百度研究cookie。 https://github.com/Python3WebSpider/Python3WebSpider
看2.4和3.2,讲cookie和request 用cookie的。 DaggerRoo 发表于 2022-8-17 09:09
那请问要怎么爬取cookie为空但又需要登录的URL呢
没看网页,只是提醒一下 cookie 不是唯一的传递认证信息的方式,请求头里其他字段也可以放认证信息,可以确认一下。 suchocolate 发表于 2022-8-17 10:26
https://github.com/Python3WebSpider/Python3WebSpider
看2.4和3.2,讲cookie和request 用cookie的。
谢谢大佬指点!{:10_298:} 本帖最后由 DaggerRoo 于 2022-8-17 10:53 编辑
dolly_yos2 发表于 2022-8-17 10:30
没看网页,只是提醒一下 cookie 不是唯一的传递认证信息的方式,请求头里其他字段也可以放认证信息,可以 ...
感谢大佬,这句话真让我茅塞顿开了!{:10_298:} 本帖最后由 dolly_yos2 于 2022-8-17 20:32 编辑
DaggerRoo 发表于 2022-8-17 10:48
感谢大佬,这句话真让我茅塞顿开了!
好耶 🎶~ <--- 居然无法显示 (;`д`)ゞ
页:
[1]