1. 需求
上次说了怎么自动发微博(【python实战】找个微博小助手,每天自动发微博),现在我想要在发完微博之后,马上给这个微博进行评论。例如,微博正文发了个谜语,评论里顺便写上答案。
2.过程
通过看微博开放平台的微博API文档,可以看到,发送一条评论需要知道access_token,评论内容,微博ID,其中,access_token在之前的帖子已经说明怎么获得,评论内容自定义,但微博ID该怎么获得呢?

微博API.png
其实,在发送微博之后,会返回一些字段信息,如图,里面就包括了该微博ID。

微博发送返回字段.png
因此,只需要在之前的发微博代码的基础上增加返回id字段和发送评论的代码就能实现发完微博,自动发微博评论了。
import requests
import json
# 分享微博
def share_weibo(text, img):
access_token = '自己的access_token'
safe_domain = 'https://weibo.com/u/5521917047?topnav=1&wvr=6&topsug=1' #可自己设置安全域名及网址
url_share = 'https://api.weibo.com/2/statuses/share.json'
datals = {
'access_token':access_token,
'status':text + ' ' + safe_domain
}
if img :
files = {"pic":img}
res = requests.post(url_share, data = datals, files = files)
else :
res = requests.post(url_share, data = datals)
return res
# 评论微博
def comment_weibo(text,weibo_id):
access_token = '自己的access_token'
url_comment = 'https://api.weibo.com/2/comments/create.json'
datals = {
'access_token':access_token,
'comment':'答案是:'+text,
'id':weibo_id
}
res = requests.post(url_comment, data = datals)
return res
if __name__ == '__main__':
content='【谜底是什么】' #发微博文字
pic='C:\\Users\\Ressia\\Pictures\\riddles\\Acandle.jpg' #发微博的图片
f=open(pic,'rb')
res = share_weibo(content,f) #获得返回信息
res=json.loads(res.text) #返回信息转为json格式
weibo_id=res['id'] #提取id字段
comment='A candle' #评论内容
comment_send=comment_weibo(comment,weibo_id)
f.close()
3. 效果
至此,就可以在发完微博之后,立马发送评论了。

微博.png
同理,可以按需求接其他API:

微博API1.png

微博API2.png

微博API3.png