今天小編給你們分享一下如何利用Python網絡爬蟲抓取微信朋友圈的動態信息,實際上若是單獨的去爬取朋友圈的話,難度會很是大,由於微信沒有提供向網易雲音樂這樣的API接口,因此很容易找不到門。不過不要慌,小編在網上找到了第三方工具,它能夠將朋友圈進行導出,以後即可以像咱們正常爬蟲網頁同樣進行抓取信息了。html
【出書啦】就提供了這樣一種服務,支持朋友圈導出,並排版生成微信書。本文的主要參考資料來源於這篇博文:www.cnblogs.com/sheng-jie/p… ,感謝大佬提供的接口和思路。具體的教程以下。瀏覽器
1、獲取朋友圈數據入口服務器
一、關注公衆號【出書啦】微信
二、以後在主頁中點擊【創做書籍】-->【微信書】。網絡
三、點擊【開始製做】-->【添加隨機分配的出書啦小編爲好友便可】,長按二維碼以後即可以進行添加好友了。框架
四、以後耐心等待微信書製做,待完成以後,會收到小編髮送的消息提醒,以下圖所示。scrapy
至此,咱們已經將微信朋友圈的數據入口搞定了,而且獲取了外鏈。ide
確保朋友圈設置爲【所有開放】,默認就是所有開放,若是不知道怎麼設置的話,請自行百度吧。工具
五、點擊該外鏈,以後進入網頁,須要使用微信掃碼受權登陸。命令行
六、掃碼受權以後,就能夠進入到微信書網頁版了,以下圖所示。
七、接下來咱們就能夠正常的寫爬蟲程序進行抓取信息了。在這裏,小編採用的是Scrapy爬蟲框架,Python用的是3版本,集成開發環境用的是Pycharm。下圖是微信書的首頁,圖片是小編本身自定義的。
2、建立爬蟲項目
一、確保您的電腦上已經安裝好了Scrapy。以後選定一個文件夾,在該文件夾下進入命令行,輸入執行命令:
scrapy startproject weixin_moment
,等待生成Scrapy爬蟲項目。
二、在命令行中輸入cd weixin_moment,進入建立的weixin_moment目錄。以後輸入命令:
scrapy genspider 'moment' 'chushu.la'
,建立朋友圈爬蟲,以下圖所示。
三、執行以上兩步後的文件夾結構以下:
3、分析網頁數據
一、進入微信書首頁,按下F12,建議使用谷歌瀏覽器,審查元素,點擊「Network」選項卡,而後勾選「Preserve log」,表示保存日誌,以下圖所示。能夠看到主頁的請求方式是get,返回的狀態碼是200,表明請求成功。
二、點擊「Response」(服務器響應),能夠看到系統返回的數據是JSON格式的。說明咱們以後在程序中須要對JSON格式的數據進行處理。
三、點擊微信書的「導航」窗口,能夠看到數據是按月份進行加載的。當點擊導航按鈕,其加載對應月份的朋友圈數據。
四、當點擊【2014/04】月份,以後查看服務器響應數據,能夠看到頁面上顯示的數據和服務器的響應是相對應的。
五、查看請求方式,能夠看到此時的請求方式變成了POST。細心的夥伴能夠看到在點擊「下個月」或者其餘導航月份的時候,主頁的URL是始終沒有變化的,說明該網頁是動態加載的。以後對比多個網頁請求,咱們能夠看到在「Request Payload」下邊的數據包參數不斷的發生變化,以下圖所示。
六、展開服務器響應的數據,將數據放到JSON在線解析器裏,以下圖所示:
能夠看到朋友圈的數據存儲在paras /data節點下。
至此,網頁分析和數據的來源都已經肯定好了,接下來將寫程序,進行數據抓取,敬請期待下篇文章~~