gongsui 发表于 2020-10-26 22:40

(python)requests爬取前,如何获取cookies

本帖最后由 gongsui 于 2020-10-27 10:17 编辑


以爬取猫眼的榜单(https://maoyan.com/board/4   )为例, requests爬取必须headers带cookie才能爬到内容。


那么问题来了:在账号不登录的情况下({:1_889:}),如何获取cookie?




谢谢各位,高手如云啊{:1_893:}。
总结如下(各大佬的原话):

一般都是有前置页面的,fiddler抓包分析一下。看在访问特定网页前,浏览器还访问了那些地址,然后构建 request.session去访问就好了。

如果不需要账户信息,直接建立session后,通过get方法,既能获取

像这种去请求一下首页获取cookie再去爬就可以了,你试试

JOB123 发表于 2020-10-26 23:06

1.cookies就是你的登录信息,不登陆哪来的cookies
2.你的问题应该是是如何不用cookies爬取内容
3.还是说你想获取别人cookies

kesai 发表于 2020-10-26 23:08

先登录然后再把cookies填上爬

gongsui 发表于 2020-10-26 23:19

JOB123 发表于 2020-10-26 23:06
1.cookies就是你的登录信息,不登陆哪来的cookies
2.你的问题应该是是如何不用cookies爬取内容
3.还是说 ...

1. 不登录也有cookie的吧,应该是浏览器自动生成的。

本身这个页面的信息是不用登录就可以查看的,只是爬取的时候需要带cookie才能显示内容

gongsui 发表于 2020-10-26 23:21

kesai 发表于 2020-10-26 23:08
先登录然后再把cookies填上爬

本身这个页面的信息是不用登录就可以查看的,只是爬取的时候需要带cookie才能显示内容

登录的话太麻烦了(基本上都是验证码,滑块,手机验证等高难度的东西)

jin3530 发表于 2020-10-26 23:28

正好刚刚用到,用requests.session 进行get和post,cookie自动保存在session中。

Zeaf 发表于 2020-10-26 23:33

jin3530 发表于 2020-10-26 23:28
正好刚刚用到,用requests.session 进行get和post,cookie自动保存在session中。

这确实是可以获取到登陆后的cookie
不知道大佬有研究过就是网页第一次访问就有cookie,这如何解决?

JOB123 发表于 2020-10-26 23:44

gongsui 发表于 2020-10-26 23:19
1. 不登录也有cookie的吧,应该是浏览器自动生成的。

本身这个页面的信息是不用登录就可以查看的,只 ...

1.那个是访问URL后,网站返回给你的
2.如果不需要账户信息,直接建立session后,通过get方法,既能获取

JOB123 发表于 2020-10-26 23:46

Zeaf 发表于 2020-10-26 23:33
这确实是可以获取到登陆后的cookie
不知道大佬有研究过就是网页第一次访问就有cookie,这如何解决?

通常大型网站,第一次访问后,服务器会返回一个cookies,通过get(url),就能获取到

Zeaf 发表于 2020-10-26 23:59

本帖最后由 Zeaf 于 2020-10-27 00:16 编辑

JOB123 发表于 2020-10-26 23:46
通常大型网站,第一次访问后,服务器会返回一个cookies,通过get(url),就能获取到
我试了下似乎获取不到?
用session吧?
r=requests.session
res=r.get('*',headers=headers)
print(r.cookie.get_dict())
页: [1] 2 3
查看完整版本: (python)requests爬取前,如何获取cookies