Python黑科技:利用Python實現微博監控小姐姐動態!

Python黑科技:利用Python實現微博監控小姐姐動態!

0x00 前言:

前幾個星期在寫一個微博監控系統 可謂是一波三折啊 獲取到微博後因為一些字符編碼問題 導致心態爆炸開發中斷 但是就在昨天發現了另外一個微博的接口

一個手機微博的接口https://m.weibo.cn/ 經過一番測試後認為這個接口滿足我的要求 就繼續完成未完成的使命吧

0x01 分析:

Python黑科技:利用Python實現微博監控小姐姐動態!

這個接口直接訪問的話會有一個302跳轉到一個登陸界面

Python黑科技:利用Python實現微博監控小姐姐動態!

也就是說這裡需要先模擬登陸一下才可以訪問到微博

需要源碼,和資料,關注,轉發,私信“01”即可獲取!

抓個包分析了一下

Python黑科技:利用Python實現微博監控小姐姐動態!

發現只要用戶名和密碼正確既返回200且json部分的retcode會返回20000000

少了驗證碼這一大坑 那模擬登陸就相當簡單啦

登陸完後訪問用戶主頁 例如:https://m.weibo.cn/u/3023940914

可以在審查元素的Network模塊看到 這裡用了兩個xhr來加載用戶信息及微博信息

Python黑科技:利用Python實現微博監控小姐姐動態!

分別是

https://m.weibo.cn/api/container/getIndex?type=uid&value=3023940914&containerid=1005053023940914

https://m.weibo.cn/api/container/getIndex?type=uid&value=3023940914&containerid=1076033023940914

經過測試這個接口直接加上typevalue參數訪問 就相當於第一個接口 不必加上containerid參數

而第二個接口的containerid參數則是通過第一個接口獲取的

獲取到第二個containerid參數訪問第二個接口就可以獲取到這個uid發佈的微博了


Python黑科技:利用Python實現微博監控小姐姐動態!


返回的是json格式的數據 用戶的微博信息都在cards列表裡每條數據的mblog數組裡面 包括微博正文、圖片、來源與時間

其中card_type標識的是微博類型 例如:文字微博 圖片微博 視頻微博 轉發等 經過測試文字微博和圖片微博的card_type標識都一樣為9

這裡初步只開發監控文字和圖片微博的功能其實就是懶

0x02 開發

首先需要模擬登陸 後續的操作都需要基於登陸的格調來進行 也是需要在同個會話進行 可以使用requests.session()方法來完成

代碼片段:

Python黑科技:利用Python實現微博監控小姐姐動態!

Python黑科技:利用Python實現微博監控小姐姐動態!

登陸完成後就可以拼接用戶id訪問前面說的第一個接口了

訪問完後再拼接containerid參數獲取微博信息的json數據

代碼片段:

Python黑科技:利用Python實現微博監控小姐姐動態!

這裡把所有獲取到的微博的id存起來 後面繼續訪問是發現有新的微博id不在這個列表裡就證明是新發布的微博

代碼片段:

Python黑科技:利用Python實現微博監控小姐姐動態!

將這些方法封裝成了一個類 完整代碼如下

Python黑科技:利用Python實現微博監控小姐姐動態!

Python黑科技:利用Python實現微博監控小姐姐動態!

Python黑科技:利用Python實現微博監控小姐姐動態!

Python黑科技:利用Python實現微博監控小姐姐動態!

Python黑科技:利用Python實現微博監控小姐姐動態!

寫了個一發現有新微博就發郵件提醒的功能 完整代碼見Github地址 https://github.com/naiquann/WBMonitor

0x03 測試

運行代碼

Python黑科技:利用Python實現微博監控小姐姐動態!

填寫完相關的登陸信息及要監控的用戶的id後

Python黑科技:利用Python實現微博監控小姐姐動態!

這裡寫了一個心跳包 每三秒訪問一次看看有沒有新微博發佈

測試的時候這樣比較方便 要是拿來用的話可以酌情增加間隔時間

當有微博發佈的時候

Python黑科技:利用Python實現微博監控小姐姐動態!

Python黑科技:利用Python實現微博監控小姐姐動態!

大功告成啦 監控小姐姐的微博去嘍~

需要源碼,和資料,關注,轉發,私信“01”即可獲取!

Python黑科技:利用Python實現微博監控小姐姐動態!


分享到:


相關文章: