我正在写一个爬虫。一旦爬虫登录到一个网站,我想使爬虫“停留-始终登录”。我该怎么做呢?客户端(如浏览器、爬虫等)使服务器遵守此规则吗?当服务器在一天内允许有限的登录时,可能会出现这种情况。
发布于 2009-11-26 23:23:46
“登录状态”通常由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通常只在有限的时间内有效,因此它不是一个长期的完全自动化的解决方案。但是,对于从Web站点下载一次内容来说,它可能非常方便。
更新:
我刚刚在最近的一个问题中发现了另一个有趣的工具:
http://www.scrapy.org
它还可以进行基于cookie的登录:
http://doc.scrapy.org/topics/request-response.html#topics-request-response-ref-request-userlogin
我提到的问题是:
希望这能有所帮助。
https://stackoverflow.com/questions/1804258
复制相似问题