1. 需求
上次說了怎么自動發(fā)微博(【python實戰(zhàn)】找個微博小助手,每天自動發(fā)微博),現(xiàn)在我想要在發(fā)完微博之后,馬上給這個微博進(jìn)行評論。例如,微博正文發(fā)了個謎語,評論里順便寫上答案。
2.過程
通過看微博開放平臺的微博API文檔,可以看到,發(fā)送一條評論需要知道access_token,評論內(nèi)容,微博ID,其中,access_token在之前的帖子已經(jīng)說明怎么獲得,評論內(nèi)容自定義,但微博ID該怎么獲得呢?

微博API.png
其實,在發(fā)送微博之后,會返回一些字段信息,如圖,里面就包括了該微博ID。

微博發(fā)送返回字段.png
因此,只需要在之前的發(fā)微博代碼的基礎(chǔ)上增加返回id字段和發(fā)送評論的代碼就能實現(xiàn)發(fā)完微博,自動發(fā)微博評論了。
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' #可自己設(shè)置安全域名及網(wǎng)址
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='【謎底是什么】' #發(fā)微博文字
pic='C:\\Users\\Ressia\\Pictures\\riddles\\Acandle.jpg' #發(fā)微博的圖片
f=open(pic,'rb')
res = share_weibo(content,f) #獲得返回信息
res=json.loads(res.text) #返回信息轉(zhuǎn)為json格式
weibo_id=res['id'] #提取id字段
comment='A candle' #評論內(nèi)容
comment_send=comment_weibo(comment,weibo_id)
f.close()
3. 效果
至此,就可以在發(fā)完微博之后,立馬發(fā)送評論了。

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

微博API1.png

微博API2.png

微博API3.png