鱼C论坛

 找回密码
 立即注册
查看: 1840|回复: 14

[已解决]返回cookie为空

[复制链接]
发表于 2022-8-16 21:17:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. import requests

  2. #会话
  3. session = requests.session()

  4. #1.登录
  5. url = 'http://api.cbecbe.com/api/student/login'
  6. data = {}
  7. data['username'] = '15234855683'
  8. data['password'] = '123456'

  9. session.post(url, data = data)

  10. #2.拿数据
  11. res = session.get('http://api.cbecbe.com/gameapi/international/gamemarket/findUserGoods?refGameRoomId=233&projectVersion=4&type=1')
  12. print(res.text)
复制代码


刚学爬虫的小白,对cookie这里还不是很懂。参照教程用自己参加比赛的网址试了试,结果返回的cookie为空,然后返回的res也是HTTP401。
最佳答案
2022-8-17 10:30:36
DaggerRoo 发表于 2022-8-17 09:09
那请问要怎么爬取cookie为空但又需要登录的URL呢

没看网页,只是提醒一下 cookie 不是唯一的传递认证信息的方式,请求头里其他字段也可以放认证信息,可以确认一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-16 21:47:36 | 显示全部楼层
加个请求头就行
  1. headers = {
  2.     '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',
  3.     'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
  4.     'Cache-Control': 'max-age=0',
  5.     'Connection': 'keep-alive',
  6.     'Upgrade-Insecure-Requests': '1',
  7.     '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',
  8. }
复制代码

下面是返回的内容
  1. {"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}
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-16 21:48:21 | 显示全部楼层
  1. import requests

  2. url = 'http://api.cbecbe.com/api/student/login'
  3. data = {}
  4. data['username'] = '15234855683'
  5. data['password'] = '123456'
  6. headers = {
  7.     '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',
  8.     'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
  9.     'Cache-Control': 'max-age=0',
  10.     'Connection': 'keep-alive',
  11.     'Upgrade-Insecure-Requests': '1',
  12.     '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',
  13. }

  14. res = requests.post(url, data = data, headers = headers)
  15. print(res.text)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-16 21:55:39 | 显示全部楼层

我想爬取的不是登录后返回的内容,而是登录之后另一个url里的内容。↓
http://api.cbecbe.com/gameapi/in ... ersion=4&type=1
不过还是感谢大佬帮忙
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-16 21:58:33 | 显示全部楼层
本帖最后由 ZhKQYu 于 2022-8-16 22:00 编辑
DaggerRoo 发表于 2022-8-16 21:55
我想爬取的不是登录后返回的内容,而是登录之后另一个url里的内容。↓
http://api.cbecbe.com/gameapi/i ...


是通过cookies登录吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-16 22:02:08 | 显示全部楼层
ZhKQYu 发表于 2022-8-16 21:58
是通过cookies登录吗

我想通过cookie登录,可是我“踩点”得到的cookie是空的,这就是我想问的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-16 22:05:28 | 显示全部楼层
本帖最后由 DaggerRoo 于 2022-8-16 22:06 编辑

1
OH)FKMY3[2WPVKLKD_F4]DI.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-17 01:04:28 | 显示全部楼层
这个url没有返回set-cookie,所以print cookie为空。
1.png
只是想看看cookie长什么样,换成百度就行:
2.png

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-17 09:09:37 | 显示全部楼层
suchocolate 发表于 2022-8-17 01:04
这个url没有返回set-cookie,所以print cookie为空。

只是想看看cookie长什么样,换成百度就行:

那请问要怎么爬取cookie为空但又需要登录的URL呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-17 10:12:11 | 显示全部楼层
DaggerRoo 发表于 2022-8-17 09:09
那请问要怎么爬取cookie为空但又需要登录的URL呢

如果网站想用cookie保持session状态,就会给你发set-cookie或者记录你上报的cookie(之前拿到的)。
但你这个url就没发set-cookie,也没说接受你的cookie,返回200什么的,就说明这个url不是返回cookie的页面,或者网站故障。建议你直接用百度研究cookie。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-17 10:26:47 | 显示全部楼层
https://github.com/Python3WebSpider/Python3WebSpider
看2.4和3.2,讲cookie和request 用cookie的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-17 10:30:36 | 显示全部楼层    本楼为最佳答案   
DaggerRoo 发表于 2022-8-17 09:09
那请问要怎么爬取cookie为空但又需要登录的URL呢

没看网页,只是提醒一下 cookie 不是唯一的传递认证信息的方式,请求头里其他字段也可以放认证信息,可以确认一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-17 10:47:31 | 显示全部楼层
suchocolate 发表于 2022-8-17 10:26
https://github.com/Python3WebSpider/Python3WebSpider
看2.4和3.2,讲cookie和request 用cookie的。

谢谢大佬指点!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-17 10:48:06 | 显示全部楼层
本帖最后由 DaggerRoo 于 2022-8-17 10:53 编辑
dolly_yos2 发表于 2022-8-17 10:30
没看网页,只是提醒一下 cookie 不是唯一的传递认证信息的方式,请求头里其他字段也可以放认证信息,可以 ...


感谢大佬,这句话真让我茅塞顿开了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-17 20:29:05 | 显示全部楼层
本帖最后由 dolly_yos2 于 2022-8-17 20:32 编辑
DaggerRoo 发表于 2022-8-17 10:48
感谢大佬,这句话真让我茅塞顿开了!


好耶 &#127926;~     <--- 居然无法显示 (;`д`)ゞ
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 19:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表