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