600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 新浪微博API获取评论数据(转载+验证+整理)

新浪微博API获取评论数据(转载+验证+整理)

时间:2023-09-29 09:47:32

相关推荐

新浪微博API获取评论数据(转载+验证+整理)

环境:

ubuntu 18.10

python 3.6

pip install sinaweibopy3

说下:

我们只使用第一个,用来获取代码中需要的id

自己完成认证以后,

打开自己新建的应用找到下面两个东西:

App Key:502108417

App Secret:794019e15ae228d4295f2509be2603a4

先了解新浪API的授权机制,总之就是一堆破事儿。

然后运行以下的code.py:

#-*- coding:utf-8 -*-# import sys# reload(sys)# sys.setdefaultencoding("utf-8")from weibo import APIClient# import sinaweibopy3import webbrowser #python内置的包,支持对浏览器进行操作APP_KEY = '502108417'APP_SECRET = '794019e15ae228d4295f2509be2603a4'CALLBACK_URL = '/oauth2/default.html'#回调授权页面,用户完成授权后返回的页面client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)print (dir(client))url = client.get_authorize_url() #得到授权页面的urlprint("-----------------------------")print(url)webbrowser.open_new(url) #打开这个url

把输出的url在浏览器里面打开,然后得到:

/appleyuchi?code=7046b0d8dc5de854f48a6a81b0c095ad

那么code就是a35919c585efd0e96d50578d17b63385

然后把code以及App Key和APP_SECRET 填入以下代码.

##########################################################################

然后运行code2.py

from weibo import APIClientimport webbrowser #python内置的包,支持对浏览器进行操作APP_KEY = '502108417'APP_SECRET = '794019e15ae228d4295f2509be2603a4'CALLBACK_URL = '/oauth2/default.html'#回调授权页面,用户完成授权后返回的页面code="7046b0d8dc5de854f48a6a81b0c095ad"client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)print(dir(client))r = client.request_access_token(code)access_token = r.access_token # 新浪(授权服务器)返回的tokenexpires_in = r.expires_inclient.set_access_token(access_token, expires_in)# print(ments__show(id=4154417035431509))#这个是获取当前使用的app_key的账号idr=ments.show.get(id = 4392052659521357,count = 200,page = 2)print(type(r))print(r)# client.get的意思就是对应下面接口文档[5]中的/2/

必须在中的地址栏中找id

一条微博对应一个代码中的id

注意上面的id从需要的微博文的网址中获取,例如:

/status/4392052659521357

运行python code2.py后效果如下:

############################################################################################

如果碰到以下问题:

weibo.APIError: APIError: 21325: invalid_grant, request: /oauth2/access_token

可以参考[3]

参考链接:

[1]如何通过python调用新浪微博的API

[2]新浪授权机制

[3]新浪API授权故障

[4]API使用频率限制

[5]评论接口文档

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。