我想编写一个 python 脚本来抓取一个社交网络网站。脚本的目的应该是检索社交图谱(友谊关系)的一部分。
该网站不提供任何 API。
问题是:我如何在 python 中抓取一个假装登录会话来访问联系页面的网站(例如,http://www.anobii.com/junemiller/friends)?好吧,我有我的登录名\密码,我会用它来登录和检索,但我不知道如何使用它通过 python 登录以建立会话来访问页面。关于 python 模块或方法的任何建议?
谢谢,雅各布
我想编写一个 python 脚本来抓取一个社交网络网站。脚本的目的应该是检索社交图谱(友谊关系)的一部分。
该网站不提供任何 API。
问题是:我如何在 python 中抓取一个假装登录会话来访问联系页面的网站(例如,http://www.anobii.com/junemiller/friends)?好吧,我有我的登录名\密码,我会用它来登录和检索,但我不知道如何使用它通过 python 登录以建立会话来访问页面。关于 python 模块或方法的任何建议?
谢谢,雅各布
您还可以使用Scrapy,它已经处理了 cookie 和 Web 会话。
在官方文档中有一个如何执行登录的示例: http ://doc.scrapy.org/en/stable/topics/request-response.html?highlight=request#using-formrequest-from-response-to-模拟用户登录
Scrapy 是使用异步 IO实现的,因此它应该比 Mechanize 或 twill 更快。
首先,您应该检查社交网络是否提供了执行此操作的 API。此外,请检查服务条款是否允许您想做的事情,否则您将面临被阻止/禁止的风险。
如果没有 API 并且您被允许以这种方式抓取系统,请查看诸如mechanize或twill之类的工具来模拟浏览器/cookie/会话行为并提供适当的抓取。
或者,使用lxml.html、urllib2、cookielib模块等自行实现。