首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用oauth2为网站构建Python爬虫

如何使用oauth2为网站构建Python爬虫
EN

Stack Overflow用户
提问于 2012-01-28 03:08:39
回答 2查看 4.9K关注 0票数 5

我是个网络编程新手。我想用Python构建一个爬虫来爬行Foursquare中的社交图。通过使用apiv2库,我得到了一个“手动”控制的爬虫。main方法类似于:

代码语言:javascript
运行
复制
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中提取代码,然后更新程序中的代码,并再次运行它。我想可能有一些方法可以让我在当前的程序中编写代码,并使其自动化。

欢迎使用任何指令或示例代码。

EN

回答 2

Stack Overflow用户

发布于 2012-01-28 03:56:40

您应该检查python-oauth2模块。这似乎是最稳定的事情。

尤其是,this blog post在如何使用Python轻松地做Oauth方面做了一个非常好的总结。示例代码使用了Foursquare API,因此我将首先检查它。

我最近不得不让oauth与Dropbox,and wrote this module一起工作,其中包含了进行oauth交换所需的步骤。

对于我的系统,我能想到的最简单的事情就是pickle Oauth客户端。我的博客包刚刚使用以下函数反序列化了pickled客户端和请求的端点:

代码语言:javascript
运行
复制
get = lambda x: client.request(x, 'GET')[1]

只需确保您的工作人员拥有此客户端对象,您就可以开始工作了:-)

票数 3
EN

Stack Overflow用户

发布于 2012-01-28 04:33:33

你不需要每次都这么做。他们会给你一个X小时/天有效的token。最终,您将获得403个http代码,并且需要重新验证

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9038690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档