(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再去爬就可以了,你试试 1.cookies就是你的登录信息,不登陆哪来的cookies
2.你的问题应该是是如何不用cookies爬取内容
3.还是说你想获取别人cookies 先登录然后再把cookies填上爬 JOB123 发表于 2020-10-26 23:06
1.cookies就是你的登录信息,不登陆哪来的cookies
2.你的问题应该是是如何不用cookies爬取内容
3.还是说 ...
1. 不登录也有cookie的吧,应该是浏览器自动生成的。
本身这个页面的信息是不用登录就可以查看的,只是爬取的时候需要带cookie才能显示内容 kesai 发表于 2020-10-26 23:08
先登录然后再把cookies填上爬
本身这个页面的信息是不用登录就可以查看的,只是爬取的时候需要带cookie才能显示内容
登录的话太麻烦了(基本上都是验证码,滑块,手机验证等高难度的东西) 正好刚刚用到,用requests.session 进行get和post,cookie自动保存在session中。 jin3530 发表于 2020-10-26 23:28
正好刚刚用到,用requests.session 进行get和post,cookie自动保存在session中。
这确实是可以获取到登陆后的cookie
不知道大佬有研究过就是网页第一次访问就有cookie,这如何解决? gongsui 发表于 2020-10-26 23:19
1. 不登录也有cookie的吧,应该是浏览器自动生成的。
本身这个页面的信息是不用登录就可以查看的,只 ...
1.那个是访问URL后,网站返回给你的
2.如果不需要账户信息,直接建立session后,通过get方法,既能获取 Zeaf 发表于 2020-10-26 23:33
这确实是可以获取到登陆后的cookie
不知道大佬有研究过就是网页第一次访问就有cookie,这如何解决?
通常大型网站,第一次访问后,服务器会返回一个cookies,通过get(url),就能获取到 本帖最后由 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())