• 获取新浪微博的Access_token


    最近想爬取新浪微博的评论,百度了一下,有个新浪开放平台提供了这个API

    于是按照它的说明,去获取Access_token:

    1、点击微链接

    2、立即创建微链接

    3、选择网页应用

    4、填写信息后提交

    5、应用创建完后可以在“我的应用”中查看信息

    6、在“应用信息”--“高级信息”中可以设置网站的授权回调页和取消授权回调页,记住自己的授权回调页

    7、进入

    https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI

    YOUR_CLIENT_ID:即应用的AppKey,可以在应用基本信息里查看到。

    YOUR_REGISTERED_REDIRECT_URI:即之前填写的授权回调页,注意一定要完全相同。

    如果用户授权成功后,会跳转到回调页,开发者此时需要得到url参数中的code值,注意code只能使用一次。

    8、参考文档

    访问如下页面得到Access Token:

    https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE

    我的问题就出在这里:

    这一步得到错误:

    {"error":"HTTP METHOD is not suported for this request!","error_code":10021,"request":"/oauth2/access_token"}
    查找错误信息发现是请求方式不对,应该是post方式,我们上面这样属于get方式
    于是自己编写python代码:
    import urllib2
    import urllib
    values={}
    values['client_id'] = '*****'
    values['client_secret'] = '****'
    values['grant_type'] = '------'
    values['code'] = '-------'
    values['redirect_uri'] = '------'
    data = urllib.urlencode(values)
    url = "https://api.weibo.com/oauth2/access_token"
    request = urllib2.Request(url,data)    #使用post方法
    # geturl = url+'?'+data
    # request = urllib2.Request(geturl) #get()方法
    response = urllib2.urlopen(request)
    print response.read()

    得到Access_token,接下来就可以自己写代码爬取评论了。

    参考:http://www.cnblogs.com/e241138/archive/2013/03/15/sina-weibo-oauth-access_token.html

  • 相关阅读:
    初学mongodb笔记
    git学习【转载】
    json序列化与反序列化
    ES6函数比对ES5函数
    前端js脚本与防止js脚本
    js函数整合队列顺序执行插件
    padding-使用必记
    css小技巧
    三分钟教会你开密码箱
    百度地图Marker优化方案
  • 原文地址:https://www.cnblogs.com/CQUTWH/p/6081755.html
Copyright © 2020-2023  润新知