近期,小夥說他女朋友可以實時監控了自己的微博一更新動態,到最後被現場抓了都是一臉懵逼;
於是他找上我,問我他女朋友是如何得知自己微博一更新動態,想弄明白到底是怎麼回事;
這必須得安排上啊,讓我們愉快地開始吧
入門Python其實很容易,但是我們要去堅持學習,每一天堅持很困難,我相信很多人學了一個星期就放棄了,為什麼呢?其實沒有好的學習資料給你去學習,你們是很難堅持的,這是小編收集的Python入門學習資料關注,轉發,私信小編“01”,即可免費領取!希望對你們有幫助
下面看具體操作方式:
相關工具
Python版本:3.6.4
相關模塊:
DecryptLogin模塊;
以及一些Python自帶的模塊。
一. 項目要求
實時監控某個微博用戶有沒有發新的微博。
二. 微博模擬登陸
調用我之前開源的DecryptLogin庫就可以很方便地實現微博的模擬登陸了。
模塊地址:
<code>https://github.com/CharlesPikachu/DecryptLogin/<code>
三. 微博監控
1. 確定待監控用戶
(1)指定用戶id進行微博監控
這個很簡單,在瀏覽器裡登陸微博移動端,然後點進想要監控的用戶的微博主頁,就可以找到該用戶的用戶id了,例如下圖所示:
(2)監控關注列表中的某用戶
簡單抓包可以發現:
只要不斷請求(page每次加1)上圖中紅框框出的鏈接直到返回的數據為空就可以獲取登錄用戶的關注列表中的所有用戶信息了,具體代碼如下:
然後用戶自主選擇想要監控的微博用戶:
用戶選擇完畢後,利用正則表達式獲取該微博用戶的用戶id:
2. 實現微博監控
步驟一:獲取被監控微博用戶發佈的所有微博
經抓包分析與實際測試,獲取被監控微博用戶發佈的所有微博流程如下:
<code>① 獲取第一個containerid/<code>
登錄狀態的session請求用戶主頁後通過正則表達式從session的cookies中提取。
<code>② 獲取第二個containerid/<code>
利用第一個containerid、user_id請求:
<code>https://m.weibo.cn/api/container
/getIndex?uid={}&luicode=10000011&lfid=231093_-_
selffollowed& type=uid&value={}&containerid={}即可獲取第二個containerid。/<code>
③ 獲取被監控微博用戶發佈的所有微博數據
利用第二個containerid、user_id請求:
<code>https://m.weibo.cn/api/container/getIndex?
uid={}&luicode=10000011&lfid=231093_-_selffollowed&
type=uid&value={}&containerid={}/<code>
即可獲取被監控微博用戶發佈的所有微博數據。
步驟二:實時監控
不斷重複步驟一,獲取被監控微博用戶發佈的所有微博,將獲取的數據與上一次獲取的被監控微博用戶發佈的所有微博數據進行對比,若有新的數據,則代表被監控微博用戶發佈了新的微博。
具體代碼實現如下:
效果展示
運行方式:
效果演示:
最後
如果你還是不會編寫這個腳本,可以關注小編+轉發此文,然後私信小編“監控”,就可以拿到完整代碼,或者找我指導實現定位,原創不易!
閱讀更多 程序員編程分享 的文章