本帖最后由 awhs123 于 2019-6-15 16:27 編輯
斐訊N1盒子作為一個(gè)電視盒子,能夠刷成好多東西,算是拼夕夕的百元好貨了今天主要想跟大家分享的是N1盒子的新玩法——微博機(jī)器人。相信微博機(jī)器人大家都用過(guò),接下來(lái)給大家放上教程。
N1盒子微博機(jī)器人主要功能
1.發(fā)布制定內(nèi)容的微博,包括文字和圖片,可以用來(lái)實(shí)時(shí)匯報(bào)設(shè)備的狀態(tài)。
2.通過(guò)在微博下評(píng)論來(lái)控制設(shè)備,比如評(píng)論一條指令,來(lái)讓你的設(shè)備執(zhí)行
N1盒子做微博機(jī)器人教程
1.要先在微博開放平臺(tái)創(chuàng)建一個(gè)應(yīng)用,按照提示進(jìn)行即可,需要注意的是要在應(yīng)用信息-高級(jí)信息中將授權(quán)回調(diào)頁(yè)改為
- https://api.weibo.com/oauth2/default.html
復(fù)制代碼 由于微博Api的限制,如果需要發(fā)微博的話必須要包含一個(gè)網(wǎng)頁(yè)URL,所以我們還需要一句提示添加一個(gè)安全域名
安全域名填什么無(wú)所謂了,有些域名是不識(shí)別的,比如我自己的.xyz域名,所以我就隨便填了個(gè)進(jìn)去,這個(gè)域名會(huì)在你每次發(fā)微博的時(shí)候都要接在后面的。這個(gè)確實(shí)比較坑爹,然后來(lái)看一下我們都拿到那些信息了。 - App_Key="2261356123"
- App_Secret="e0c7dffa49ddc32fab306d1e9a731d35"
- url="http://www.ip111.cn"
- 授權(quán)回調(diào)頁(yè)="https://api.weibo.com/oauth2/default.html"
復(fù)制代碼下面開始獲取鑒權(quán)參數(shù),就是驗(yàn)證你登陸的東西,一共有兩個(gè),code和access_token,在這之前,我們要借用一下瀏覽器里的cookies
用Chrome瀏覽器隨意打開一個(gè)微博頁(yè)面,登錄進(jìn)去,按F12,選擇Network選項(xiàng),并刷新一下
5.jpg (227.32 KB, 下載次數(shù): 3)
下載附件
保存到相冊(cè)
2019-6-15 16:09 上傳
隨意選擇一項(xiàng),右鍵,復(fù)制為curl
6.jpg (233.75 KB, 下載次數(shù): 7)
下載附件
保存到相冊(cè)
2019-6-15 16:10 上傳
得到的curl連接并不全是我們需要的
- curl 'https://rm.api.weibo.com/2/remind/push_count.json?trim_null=1&with_dm_group=0&with_settings=1&exclude_attitude=1&with_common_cmt=1&with_comment_attitude=1&with_common_attitude=1&with_moments=1&with_dm_unread=1&msgbox=true&with_page_group=1&with_chat_group=1&with_chat_group_notice=1&_pid=1&count=9&source=888888883&status_type=0&callback=STK_888888888888882' \
- -H 'Accept-Encoding: gzip, deflate, br' \
- -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' \
- -H 'User-Agent: Mozilla/5.0 (Windows NT 88.0; Win88; x88) AppleWebKit/887.88 (KHTML, like Gecko) Chrome/88.0.8888.884 Safari/887.88' \
- -H 'Accept: */*' \
- -H 'Referer: https://www.weibo.com/u/8888888888/home?wVR=5' \
- -H 'Cookie: SINAGLOBAL=8888888888889.8888.8888888888888; _ga=GA1.2.8888888888.8888888888; Hm_lvt_88f88881c8888a88f88d0d884df88fa4=8888888888; wvr=6; un=88888888885; login_sid_t=b4efac5e0eecd88880bb888888a8888b; cross_origin_proto=SSL; _s_tentry=login.sina.com.cn; UOR=www.axxxxxxan.com,widget.weibo.com,wwxxxxxxe.com.hk; Apache=8888888888880.8888.8888888888883; ULV=8888888888882:88:88:88:8888888888880.8888.8888888888883:8888888888888; SUBP=8888WrSXqPxfM885Ws9jqgMF88889P9D9WhfYXJ3fUg1NJy5SSnxxxxxpX5K2hUgL.Fo-cehq4ehBX1h.xxxxxxxxUhIGUQMcHV; ALF=8888888888; SSOLoginState=8888888888; SCF=Ai1a8cAJxxxxx2tfJrTxxxqmi2W5QfVzBUIhI3aUxxxxxxKP2L4Zy5_MLYxxxxxxjvJ4xxxxxxHMZZ-xULspQxg.; SUB=_2A882-wEvDeRhxxxxxxxxxxxxxxxxrIwzWIHXVScxxxxxxxxxxxxxxNbmtAKLxxxxxxxxxxxxxLl88wwIkh88HEpHbHAjxxxxxxxxxBR_H2; SUHB=0TPVjWcHcnBuM3' \
- -H 'Connection: keep-alive' --compressed
復(fù)制代碼我們只需要 -H 'cookie這一行
- -H 'Cookie: SINAGLOBAL=8888888888889.8888.8888888888888; _ga=GA1.2.8888888888.8888888888; Hm_lvt_88f88881c8888a88f88d0d884df88fa4=8888888888; wvr=6; un=88888888885; login_sid_t=b4efac5e0eecd88880bb888888a8888b; cross_origin_proto=SSL; _s_tentry=login.sina.com.cn; UOR=www.axxxxxxan.com,widget.weibo.com,wwxxxxxxe.com.hk; Apache=8888888888880.8888.8888888888883; ULV=8888888888882:88:88:88:8888888888880.8888.8888888888883:8888888888888; SUBP=8888WrSXqPxfM885Ws9jqgMF88889P9D9WhfYXJ3fUg1NJy5SSnxxxxxpX5K2hUgL.Fo-cehq4ehBX1h.xxxxxxxxUhIGUQMcHV; ALF=8888888888; SSOLoginState=8888888888; SCF=Ai1a8cAJxxxxx2tfJrTxxxqmi2W5QfVzBUIhI3aUxxxxxxKP2L4Zy5_MLYxxxxxxjvJ4xxxxxxHMZZ-xULspQxg.; SUB=_2A882-wEvDeRhxxxxxxxxxxxxxxxxrIwzWIHXVScxxxxxxxxxxxxxxNbmtAKLxxxxxxxxxxxxxLl88wwIkh88HEpHbHAjxxxxxxxxxBR_H2; SUHB=0TPVjWcHcnBuM3'
復(fù)制代碼最好找一個(gè)記事本,保存下來(lái),以后還有許多地方需要用到。
然后我們需要讓curl帶著cookies來(lái)訪問(wèn)這個(gè)鏈接
- https://api.weibo.com/oauth2/authorize?redirect_uri=https://api.weibo.com/oauth2/default.html&response_type=code&client_id=<App_Key>
復(fù)制代碼- curl -LI "https://api.weibo.com/oauth2/authorize?redirect_uri=https://api.weibo.com/oauth2/default.html&response_type=code&client_id=<App_Key>" \
- -H 'Cookie: SINAGLOBAL=8888888888889.8888.8888888888888; _ga=GA1.2.8888888888.8888888888; Hm_lvt_88f88881c8888a88f88d0d884df88fa4=8888888888; wvr=6; un=88888888885; login_sid_t=b4efac5e0eecd88880bb888888a8888b; cross_origin_proto=SSL; _s_tentry=login.sina.com.cn; UOR=www.axxxxxxan.com,widget.weibo.com,wwxxxxxxe.com.hk; Apache=8888888888880.8888.8888888888883; ULV=8888888888882:88:88:88:8888888888880.8888.8888888888883:8888888888888; SUBP=8888WrSXqPxfM885Ws9jqgMF88889P9D9WhfYXJ3fUg1NJy5SSnxxxxxpX5K2hUgL.Fo-cehq4ehBX1h.xxxxxxxxUhIGUQMcHV; ALF=8888888888; SSOLoginState=8888888888; SCF=Ai1a8cAJxxxxx2tfJrTxxxqmi2W5QfVzBUIhI3aUxxxxxxKP2L4Zy5_MLYxxxxxxjvJ4xxxxxxHMZZ-xULspQxg.; SUB=_2A882-wEvDeRhxxxxxxxxxxxxxxxxrIwzWIHXVScxxxxxxxxxxxxxxNbmtAKLxxxxxxxxxxxxxLl88wwIkh88HEpHbHAjxxxxxxxxxBR_H2; SUHB=0TPVjWcHcnBuM3'
復(fù)制代碼會(huì)得到這樣的返回值
7.jpg (107.18 KB, 下載次數(shù): 8)
下載附件
保存到相冊(cè)
2019-6-15 16:11 上傳
對(duì)其篩選出我們需要的code值
- curl -LI "url" | grep Location | sed 's/.*=//g'
復(fù)制代碼得到的code值帶有一個(gè)回車,再把回車處理掉
就得到32位的code字符串了,然后去換取access_token - curl 'https://api.weibo.com/oauth2/access_token' -d "client_id=<your app key>&client_secret=<your secret key>&grant_type=authorization_code&code=<上一步獲取的truecode>&redirect_uri=https://api.weibo.com/oauth2/default.html" | jq -r '.access_token'
復(fù)制代碼access_token生命周期為一天,如果你創(chuàng)建的應(yīng)用通過(guò)審核的話,就是30天,你也可以把自己搞成開發(fā)者測(cè)試token,生命期是五年
接下來(lái)使用access_token來(lái)發(fā)布微博
- curl 'https://api.weibo.com/2/statuses/share.json' \
- -F "access_token=${token}" \
- -F "status=${bobo}<你的安全域名>" | jq '.'
復(fù)制代碼$boob就是你要發(fā)微博的內(nèi)容,可以任意定義內(nèi)容。
如果需要附加圖片,也很簡(jiǎn)單,只需要添加一行代碼即可
- -F "pic=@${ppic};type=image/jpeg"
復(fù)制代碼$ppic用來(lái)指定圖片的位置,需要使用絕對(duì)路徑,比如
沒有測(cè)試具體支持那些圖片格式,大家自己測(cè)試吧,不過(guò)都9102年了,最好使用Jpg吧.
還可以通過(guò)讀取微博評(píng)論的方式來(lái)讀取指令讓你的設(shè)備來(lái)執(zhí)行
- curl 'https://api.weibo.com/2/comments/show.json?access_token=<你的token>&id=666' | jq -r '.comments[0] | .id,.text'
復(fù)制代碼可以讀取微博id為666的最新一條評(píng)論以及評(píng)論的id
如果我們?cè)u(píng)論一條指令,并且讓設(shè)備不停的讀取該微博下的評(píng)論,就可以及時(shí)獲取并執(zhí)行該指令,為了防止重復(fù)執(zhí)行,我們還應(yīng)該在執(zhí)行之后及時(shí)刪除該評(píng)論
- curl 'https://api.weibo.com/2/comments/destroy.json' \
- -d 'access_token=<你的token>&cid=<上面獲取的評(píng)論id>' > /dev/null
復(fù)制代碼全部代碼見Github: https://github.com/yu123an/N1.sinarobot
分享網(wǎng)友:心理有數(shù)
以上就是N1盒子做微博機(jī)器人的全部?jī)?nèi)容啦,如果覺著內(nèi)容有幫助,歡迎通過(guò)下方評(píng)論留言點(diǎn)贊~
|