用 Python 自动定时发微博
其實(shí)小帥b已經(jīng)挺久沒(méi)有玩微博了,記得上次玩微博還是為了給周杰倫打榜,不過(guò)最近心血來(lái)潮,覺(jué)得俺的微博賬號(hào)躺著也是躺著,要不就用 Python 做一個(gè)自動(dòng)定時(shí)發(fā)微博的機(jī)器人,讓它在上面飄一會(huì)。
怎么個(gè)飄法呢?
這不禁讓我想到了一個(gè)叫做 “古城鐘樓”?的微博賬號(hào),每天都定時(shí)定點(diǎn)的在上面 “鐺鐺檔”,其它的啥也不干,但牛逼的是,人家就憑 “鐺鐺檔” 就有了 100 多萬(wàn)粉絲,我特么都快給跪下了。
所以我也打算弄一個(gè)類(lèi)似這樣的微博機(jī)器人,我要做的是,每隔一段時(shí)間就發(fā)布一條關(guān)于?“年度進(jìn)度” 的微博,告訴你一年過(guò)去百分之多少了。比如:?
2020?年進(jìn)度:
[#-------------------]4%
事不宜遲,先把我的微博名稱給改了,就叫做 “我的年度進(jìn)度條” 吧,再把簽名改成 “給時(shí)間打上 tag” 。
瞬間有點(diǎn)逼格了,帥b微博百萬(wàn)粉指日可待!!
那么如何實(shí)現(xiàn)定時(shí)發(fā)微博呢?接下來(lái)就是:
學(xué)習(xí) Python 的正確姿勢(shì)
遇事不決,量子力學(xué),去微博的開(kāi)放平臺(tái)逛一波,果然發(fā)現(xiàn)了一個(gè)寫(xiě)入微博的 API:
進(jìn)去看了下,是一個(gè) POST 請(qǐng)求,需要攜帶兩參數(shù),一個(gè) token, 一個(gè)要發(fā)微博的內(nèi)容:
?
上面說(shuō)了,token 參數(shù)需要采用 OAuth 授權(quán)后才能獲得。
所以得先登錄上去注冊(cè)一個(gè)應(yīng)用:
反正就是一頓創(chuàng)建之后拿到應(yīng)用相關(guān)的 App Key, App Secret 等參數(shù),有了它們才可以去獲取 token 從而使用發(fā)微博的 API。
?
遇事不決,量子力學(xué),在 PyPI 上面搜下 weibo ,果然有人用 Python 封裝好了微博接口請(qǐng)求的 API :
第一個(gè)點(diǎn)進(jìn)去看看介紹:
唉呀媽呀,這正是我想要的哇,Python 又幫我省下了不少時(shí)間,哎,人生苦短呀。
那就 install 一波唄:
?
開(kāi)始擼下代碼,創(chuàng)建一個(gè) weibo_robot.py ,然后把需要的庫(kù)導(dǎo)進(jìn)來(lái):
這個(gè) weibo 庫(kù)的獲取 token 是這樣的:
那就把它寫(xiě)成一個(gè)方法,然后等下把參數(shù)塞進(jìn)去就可以了:
把剛剛在微博開(kāi)放平臺(tái)獲到的參數(shù),和自己微博賬號(hào)密碼給定義好:
有了參數(shù)就可以獲取 weibo 的 client 了:
有了 client 就可以調(diào)用 share 接口來(lái)發(fā)微博了,來(lái)測(cè)試一下:
運(yùn)行一波:
報(bào)錯(cuò)了,文本找不到域名?我就納悶了呀,為啥要 domain?
再仔細(xì)看下文檔才發(fā)現(xiàn)還要帶上域名的:
好吧,帶上俺綁定的域名試試看:
再運(yùn)行一波,沒(méi)報(bào)錯(cuò)了,打開(kāi)俺的微博看看:
可以可以,發(fā)布成功,不過(guò)來(lái)自?“未通過(guò)審核應(yīng)用” 是什么鬼?
看下開(kāi)放平臺(tái)的應(yīng)用發(fā)現(xiàn):
好吧,不管了,先這樣,接下來(lái)就可以來(lái)寫(xiě)一個(gè)獲取年度進(jìn)度的方法了。
希望發(fā)布的微博格式是這樣的:
xxxx 年進(jìn)度:
[#-------------------]xx%
所以定義一下特定的輸出格式:
其中的 years 可以通過(guò) datetime 獲取:
百分比就是獲取當(dāng)天是新的一年的第幾天,然后除以 365 ,而主要的進(jìn)度條在這里就定義一個(gè)這樣的字符串:
每一小格代表 5% ,然后每次計(jì)算百分比,比如現(xiàn)在就是這樣:
而 14% 就是這樣:
可以,那就四舍五入下,然后整下字符串替換得了:
再運(yùn)行一波:
沒(méi)毛病,那最后就扔到服務(wù)器上定時(shí)運(yùn)行腳本了。
可以使用 Linux 的?crontab?定時(shí)任務(wù),執(zhí)行 crontab -e,編輯定時(shí)運(yùn)行腳本,比如定時(shí)每天 17 :20 發(fā)布微博:
保存退出即可,這樣每到了特定的時(shí)間,它就會(huì)屁顛屁顛的運(yùn)行了。
總結(jié)
以上是生活随笔為你收集整理的用 Python 自动定时发微博的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电脑技巧:Windows服务器挂载磁盘方
- 下一篇: python编码和解码_Python中的