我是网络编程新手。我想构建一个爬虫,用于通过 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 中获取 CODE,然后在我的程序中更新 CODE,然后再次运行。我认为可能有一些方法可以将 CODE 编码到我当前的程序中并使其自动化。
欢迎提供任何说明或示例代码。
最佳答案
您应该查看 python-oauth2模块。它似乎是目前最稳定的东西。
特别是,this blog post对如何使用 Python 轻松地进行 Oauth 有很好的了解。示例代码使用了 Foursquare API,所以我会先检查一下。
我最近不得不让 oauth 与 Dropbox 一起工作,and wrote this module包含进行 oauth 交换的必要步骤。
对于我的系统,我能想到的最简单的事情就是pickle
Oauth 客户端。我的博客包刚刚反序列化 pickled 客户端并使用以下函数请求端点:
get = lambda x: client.request(x, 'GET')[1]
只需确保您的工作人员拥有此客户端对象,您就可以开始了:-)
关于python - 如何使用 oauth2 为网站构建 Python 爬虫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9038690/