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