01.08 不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

近期,小夥說他女朋友可以實時監控了自己的微博一更新動態,到最後被現場抓了都是一臉懵逼;

於是他找上我,問我他女朋友是如何得知自己微博一更新動態,想弄明白到底是怎麼回事;

這必須得安排上啊,讓我們愉快地開始吧

下面看具體操作方式:

相關工具

**Python版本:**3.6.4

相關模塊:

DecryptLogin模塊;

以及一些Python自帶的模塊。

一. 項目要求

實時監控某個微博用戶有沒有發新的微博。

二. 微博模擬登陸

調用我之前開源的DecryptLogin庫就可以很方便地實現微博的模擬登陸了。

模塊地址:

<code>https://github.com/CharlesPikachu/DecryptLogin
/<code>

三. 微博監控

1. 確定待監控用戶

(1)指定用戶id進行微博監控

這個很簡單,在瀏覽器裡登陸微博移動端,然後點進想要監控的用戶的微博主頁,就可以找到該用戶的用戶id了,例如下圖所示:

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

(2)監控關注列表中的某用戶

簡單抓包可以發現:

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

只要不斷請求(page每次加1)上圖中紅框框出的鏈接直到返回的數據為空就可以獲取登錄用戶的關注列表中的所有用戶信息了,具體代碼如下:

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

然後用戶自主選擇想要監控的微博用戶:

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

用戶選擇完畢後,利用正則表達式獲取該微博用戶的用戶id:

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

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>

即可獲取被監控微博用戶發佈的所有微博數據。

步驟二:實時監控

不斷重複步驟一,獲取被監控微博用戶發佈的所有微博,將獲取的數據與上一次獲取的被監控微博用戶發佈的所有微博數據進行對比,若有新的數據,則代表被監控微博用戶發佈了新的微博。

具體代碼實現如下:

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

效果展示

運行方式:

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

效果演示:

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

python學的好,女票不愁找,下面展示了部分,希望也能幫助對編程感興趣,想要追趕python開發熱點的朋友們。

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

部分視頻展示:

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

電子書系列:

視頻容易理解,電子書作為輔助,有時候看視頻不方便可以用電子書作為輔助

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

python人工智能系列:

不要問我,咋跪鍵盤,沒人告訴我python程序媛這麼厲害!還能監控

獲取方式

點贊,收藏並轉發文章後點擊小編頭像,關注後私信回覆:【11】 即可獲取,下方位置,舉手之勞,非常感謝。


分享到:


相關文章: