【python實戰(zhàn)】找個微博小助手,每天自動發(fā)微博

目錄

目錄.png

一、 背景

鄭老師近來自己發(fā)微博的時間比較少了,但是,公司又希望鄭老師能夠每天多發(fā)發(fā)微博。鄭老師又沒有人幫他每天發(fā),自然擱置下來了。

我呢,沒事刷刷知乎,看看python可以干什么的時候,我發(fā)現(xiàn),python還可以發(fā)微博,果斷入手。

這不,我就可以給鄭老師找個微博小助手,每天定期發(fā)微博了么?

二、思路

要實現(xiàn)每天自動發(fā)微博,主要有3個步驟:

  1. 準備內(nèi)容素材;
  2. 登錄微博,分享內(nèi)容(發(fā)微博);
  3. 每天定時發(fā)送;

三、過程

1. 準備內(nèi)容素材

鄭老師提供了些思路,例如,本來打算發(fā)一些口語考試背景知識,但是,微博發(fā)送內(nèi)容限制140字以內(nèi),就不好實現(xiàn)了。

最后,決定每天發(fā)張joke圖片,配文《笑點在哪里》。joke圖片也是通過python從網(wǎng)絡(luò)批量獲取的。

這個過程就不詳述了,自己找好素材就行。

2. python發(fā)微博

有了文字和圖片素材,就開始可以用python發(fā)微博了。

通過在網(wǎng)上看別人的帖子,以及自己看微博開放平臺的文檔,總結(jié)如下:

(1)微博開放平臺創(chuàng)建應用

①百度搜并打開微博開放平臺,用自己的微博登錄就行。

微博開放平臺.png

②點 微連接 —— 移動應用 —— 立即接入 ——繼續(xù)創(chuàng)建,就可以創(chuàng)建新應用了。

應用名稱和應用分類自己選就行了,然后點擊 創(chuàng)建,就創(chuàng)建了應用了,這樣就可以我的應用中看見了。

創(chuàng)建新應用.png

創(chuàng)建應用的主要目的是獲取 App Key、App Secretcode、access_token、授權(quán)回調(diào)頁地址、安全域名這些信息,這些是在發(fā)微博過程中需要用到的。

其中, App Key、App Secret是創(chuàng)建信息后自動生成的;

Key&Secret.png

授權(quán)回調(diào)頁地址、安全域名是需要自己添加;

code是需要根據(jù) App Key授權(quán)回調(diào)頁地址獲得;

access_token是需要根據(jù) App KeyApp Secret、code授權(quán)回調(diào)頁地址獲得;

安全域名是在發(fā)微博時需要帶上的。

(2)添加授權(quán)回調(diào)頁地址、安全域名

授權(quán)回調(diào)頁:在我的應用——應用信息——高級信息中,進行編輯設(shè)置。

在這里,授權(quán)回調(diào)頁用了鄭老師的簡書主頁,應該也可以用其他的個人主頁或者自己信得過的網(wǎng)址。

取消授權(quán)回調(diào)頁:就用了簡書主頁了,這個也沒啥限制的。

授權(quán)回調(diào)頁.png

安全域名:在我的應用——應用信息——基本信息中,進行編輯設(shè)置。

在設(shè)置過程中,還需要填 應用地址、應用簡介、應用介紹、標簽,其中,應用地址可以是自己的微博主頁,其他信息,就按要求湊夠字數(shù),添加標簽就行。

由于發(fā)微博的接口請求參數(shù)中的status要求文本中必須包含至少一個第三方分享到微博的網(wǎng)頁URL,且該URL只能是該第三方(調(diào)用方)綁定域下的URL鏈接。

因此,根據(jù)網(wǎng)上的帖子,安全域名可以填 weibo.com,之后的url鏈接就可以是鄭老師的微博主頁了。

(3)授權(quán)登錄,獲得code

該填的信息都填完之后,就可以開始獲取參數(shù)了。

首先是,授權(quán)登錄。點擊 文檔——微博登錄

微博登錄.png

就可以看到兩個重要的URL了。

url.png

第一個URL是用來獲得code的:

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

將該URL復制到瀏覽器的地址欄,將YOUR_CLIENT_ID改為自己的App Key,YOUR_REGISTERED_REDIRECT_URI改為自己設(shè)置的授權(quán)回調(diào)頁地址。

回車-點擊授權(quán)登錄后,頁面跳轉(zhuǎn),地址欄中是自己設(shè)置的**授權(quán)回調(diào)頁地址**\?code=CODE,其中,CODE就是后續(xù)要用的code

(4)獲得access_token

上述圖片的第2個URL是用來獲得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

同樣可以,將該URL復制到瀏覽器的地址欄,將YOUR_CLIENT_ID改為自己的App Key,YOUR_REGISTERED_REDIRECT_URI改為自己設(shè)置的授權(quán)回調(diào)頁地址,另外,將code改為上述獲取到的code

回車,返回的頁面中,就有access_token值,保存下來。

(5)發(fā)文字+圖片微博

至此,需要的參數(shù)都已經(jīng)有了,開始寫python代碼發(fā)微博了。

同樣,進入文檔——內(nèi)容分享——API接口——分享微博接口可以看到,需要的請求參數(shù)。其中,access_tokenstatus是必填的。

請求參數(shù).png
import requests
access_token='自己的access_token'
safe_domain='可以是自己的微博主頁'
url_share='https://api.weibo.com/2/statuses/share.json'
text='要發(fā)送的文字'
para={'access_token':access_token,
     'status':text}
pic='圖片'
files={'pic':open(pic,'rb')}
#只發(fā)純文字
r_text=requests.post(url_share,data=para)
#文字+圖片
r_pic=requests.post(url_share,data=para,files=files)

根據(jù)上述代碼及自己準備的素材進行修改,就可以發(fā)微博啦~

3. 每天自動發(fā)送

每天自動發(fā)送的實現(xiàn)主要是通過windows系統(tǒng)自帶的任務(wù)計劃程序,就是讓電腦每天定時地跑python代碼就行了。這也適用于其他程序的每天自動運行。

以win10為例:

右鍵此電腦——點開管理,看到如下界面:

計算機管理.png

點擊任務(wù)計劃程序,然后,點擊右側(cè)的創(chuàng)建基本任務(wù)

創(chuàng)建基本任務(wù).png

任務(wù)名稱:自己定義任務(wù)名稱

觸發(fā)器:點擊下一步,設(shè)置觸發(fā)器,自己選擇任務(wù)開始的時間。

觸發(fā)器.png

除了選擇計算機啟動時當前用戶登錄時,其他選項會需要補充設(shè)置時間,例如,每天開始的話,是從哪天什么時候開始,每隔幾天發(fā)生一次。

每日.png

操作:選擇啟動程序,點擊下一步。

操作.png

程序或腳本:python的安裝路徑,例如,

C:\Users\Ressia\AppData\Local\Programs\Python\Python38\python.exe

添加參數(shù):python腳本的路徑,例如,

C:\study\實戰(zhàn)\python\weibo\weibo_xiaohua.py

啟動程序.png

點擊下一步——完成,就已經(jīng)設(shè)定好啦~

任務(wù)計劃程序庫中,就可以看到自己設(shè)定的程序(雙擊可以進行修改編輯),可以點擊右側(cè)的運行,看看效果喲~~

任務(wù)計劃程序庫.png

四、效果

給鄭老師設(shè)定每天上午8點發(fā)微博,python自動生成的內(nèi)容,發(fā)布文字和jokes的圖片,效果如下圖。

鄭老師的定時微博.png

我自己嘞,就每天0點,python自動生成的內(nèi)容,發(fā)布進度條文字和圖片。

自己的定時微博.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容