爬虫需要登陆的问题 我先用 requests get 请求 想先拿到 cookie 放到 header 中 但是 get 过后 response.cookies 和 chrome 里面的 cookie 不同 少了很多 想问一下怎么拿到这些 cookie
1
morefreeze 2019-02-26 18:22:31 +08:00
一般这种问题还是 chrome 里有些隐秘请求 /操作导致的,requests 只发了一个请求,但你 chrome 打开这个网页可能执行 js,或者发了别的请求,都说不好,仔细排查模拟吧
|
2
Leigg 2019-02-26 21:34:13 +08:00 via iPhone
有时候浏览器会发送自己的 cookie,不同浏览器还不一样,不用理会,可以先尝试登录。再就是注意是不是登录分成多个请求分步获取参数最后提交的。
|
3
wutiaojian 2019-02-26 22:57:18 +08:00
requests.session() 了解下
|
4
bakabie 2019-02-26 23:56:40 +08:00
1. 如楼上所说使用 requests.session()
2.有些请求会让服务器设置 set-cookies,请在抓包的 时候分析看看是否有这些请求,然后使用 1 的 session 访问 3.有些属性是 chrome 自带。 |
5
Alfred1993 2019-02-28 02:50:16 +08:00 via iPhone
印象中好像直接复制 chrome 登陆后的 cookie 也能请求
|
6
Oane OP @Alfred1993 的确可以登录 但是如果想要完全自动化 就必须获取 cookie 了
|
7
ranlele 2019-03-06 17:48:10 +08:00
post 登陆页面获取的 cookie,比使用浏览器登陆的 cookie 要少很多,带着 cookie 访问其他页面。但是依然登陆成功了。
|