突然覺得,現在發微博已經成為當代青年的潮流,或分享自拍美照,或分享美食美景,小編的女朋友也不例外,平時愛分享一些我倆生活的趣事。
但是她最近開始給我抱怨我從來不給她的微博評論,我作為骨灰級“暖男”肯定要有所行動啊,於是我靈機一動,用python寫了個微博秒評的指令碼,不管她半夜還是清晨,只要發了微博,就肯定能秒評,再也不怕她抱怨我不評論了。
01
整體思路
首先用爬蟲裡面的著名的requests庫寫個定時迴圈爬取個人主頁的程式,檢測女友有沒有發微博,若沒有,則繼續迴圈;若有,則呼叫微博api介面,給該條微博評論。讓女友迅速的注意到我,嘿嘿~~
02
動手開始
第一步:找到好友微博更新介面,定時迴圈爬取
以移動端網頁微博為例,登入微博後,開啟流量分析工具,更新網頁,找到好友微博介面
返回的是json格式資料,我們需要的是該條微博的id和發微博的好友的微博名稱,一共有20條好友微博資料,已經夠了,我們只需要最新的就行,它的請求地址為
不需要帶什麼引數,但是用requests模擬請求時要把自己的cookie帶上,程式碼如下
03
呼叫API介面
1).首先我們需要在微博開放平臺申請個人介面
網址為https://open.weibo.com/apps
2).登入後需要身份驗證
4).最後按要求填寫,建立應用即可
最後在應用資訊中可以找到App Key和App Secret值
5).請求access_token值
然後要根據平臺返回的App Key和App Secret值請求獲得access_token值
程式碼如下:
首先需要安裝sinaweibopy3,這是python呼叫微博必備的軟體開發包,在pycharm中即可完成。請求url是固定介面,這裡不必糾結,最後會返回1個新的url
該地址是個重定向地址,將其在瀏覽器中開啟
發現其地址發生了變化,我這裡瀏覽器中已經登入了個人微博,否則還會提示重新輸入賬號密碼。重點關注一下重定向後網址的code值,這個值很快就會失效,我們後續需要用此值來請求獲得access_token值,網上的教程都是讓手動輸入,太low了,我們可以用requests庫搞定
此次請求仍需要已登入個人微博的cookie值,用會話請求的方式獲得重定向後的網頁地址,並最終取得code值。
04
用獲得的code值請求獲得access_token值
提交完畢後就自動給微博評論了,當然本教程僅供給大家學習Python參考使用。因為興趣是學習Python最好的途徑,我們後面還有一些趣味的案例來幫助大家學習Python,大家不能請求太頻繁哦,而且評論次數也是受限制的。