我正在写一个爬虫。在抓取工具登录网站后,我想让抓取工具“始终保持登录状态”。我怎样才能做到这一点?客户端(如浏览器,爬虫等)是否使服务器遵守此规则?当服务器允许在一天中进行有限登录时,可能会发生这种情况。
答案 0 :(得分:5)
“登录状态”通常由cookie表示。因此,您需要做的是存储该服务器在登录时发送的cookie信息,然后在每个后续请求中发送该cookie(如Aiden Bell在其消息中所述,thx)。
另见这个问题:
How to "keep-alive" with cookielib and httplib in python?
关于如何实施它的更全面的文章:
http://www.voidspace.org.uk/python/articles/cookielib.shtml
最简单的示例位于本手册页的底部:
https://docs.python.org/library/cookielib.html
您还可以使用常规浏览器(如Firefox)手动登录。然后,您将能够从该浏览器保存cookie并在您的爬虫中使用它。但是这样的cookie通常只在有限的时间内有效,所以它不是一个长期的全自动解决方案。但是,从网站上下载内容非常方便。
<强>更新强>
我刚刚在最近的一个问题中找到了另一个有趣的工具:
它也可以进行基于cookie的登录:
http://doc.scrapy.org/topics/request-response.html#topics-request-response-ref-request-userlogin
我提到的问题是:
希望这有帮助。