我是网络编程新手。我想用Python在Foursquare中构建一个爬行器来爬行社交图。
我使用apiv2
库获得了一个“手动”控制的爬虫程序。主要方法如下:
def main():
CODE = "******"
url = "https://foursquare.com/oauth2/authenticate?client_id=****&response_type=code&redirect_uri=****"
key = "***"
secret = "****"
re_uri = "***"
auth = apiv2.FSAuthenticator(key, secret, re_uri)
auth.set_token(code)
finder = apiv2.UserFinder(auth)
#DO SOME REQUIRES By USING THE FINDER
finder.finde(ANY_USER_ID).mayorships()
bla bla bla
问题是,目前,我必须在浏览器中输入URL并从重定向URL中获取代码,然后更新程序中的代码,然后再次运行它。我想也许有一种方法可以把代码编码到我当前的程序中,并使其自动化。在
任何指示或示例代码都是感激的。在
您应该查看python-oauth2模块。这似乎是最稳定的。在
特别是,this blog post对如何使用Python轻松地完成Oauth有一个非常好的总结。示例代码使用foursquareAPI,因此我将首先检查它。在
我最近不得不让oauth使用Dropbox,and wrote this module包含进行oauth交换的必要步骤。在
对于我的系统,我能想到的最简单的事情就是
pickle
Oauth客户机。我的博客包刚刚反序列化了pickled客户端并使用以下函数请求了终结点:只需确保您的工作人员拥有此客户机对象,并且您应该准备就绪:-)
首先让你的应用通过oauth2认证。 这是一个如何使用oauth进行twitter身份验证的示例。http://popdevelop.com/2010/07/an-example-on-how-to-use-oauth-and-python-to-connect-to-twitter/
类似地,您可以在https://code.google.com找到更多示例
然后可以使用beauthoulsoup或lxml进行html解析。您可以从页面源中提取相关数据,请求完成后将获得这些数据。在
美化组文档-http://www.crummy.com/software/BeautifulSoup/
要下载图片、视频等,你可以使用开场白。在http://docs.python.org/library/urllib2.html上阅读有关开场白的更多信息
你不必每次都这么做。他们会给你一个
token
,这对X小时/天都有效。最终你需要验证403相关问题 更多 >
编程相关推荐