歡迎光臨
每天分享高質量文章

一個絕對讓你欣喜若狂的開源Python爬蟲 | 微信公眾號爬蟲weixin_crawler開源啦

授權轉載自微信公眾號:愛迪斯 

連結:https://mp.weixin.qq.com/s/Beyuv_izDAOVBFvXpW66kA

正式介紹weixin_crawler之前,我準備了兩個問題,這兩個問題透過weixin_crawler自帶的報告和搜尋指數都能得到回答。

問題1:高考在每年的幾月舉行?

 

有無數種方法可以知道這個問題的答案。鑒於手頭有60個公眾號的全部發文資料,共計大約14萬篇文章,其中包含了文章的發文時間、正文、閱讀量等資訊,於是決定使用“大資料”回答這個問題。

在這14萬篇文章中出現“高”或者“考”的文章有12285篇,出現“高考”的文章有4390篇,按照月份統計這4390篇文章就得到了這張條形圖,很明顯每年的6月份出現“高考”的文章最多,如下圖。

 

所以也就不難回答高考所在的月份了,這個問題只是起到一個拋磚引玉的用途,類似的問題還有很多,比如“創客教育是在哪一年興起的?”

 

問題2:一個公眾號應該在一天的哪個個小時段推文?

以新加坡萬事通為例,新加坡萬事通截止到今天累計發文10450篇。

第一步,獲取公眾號新加坡萬事通的全部歷史發文,得到每篇文章的發文小時和閱讀量。

第二步,統計每個小時段內的發文總數,會得到一個類似這樣的條形圖。從下圖可見該公眾號主要是晚上7、8、8、10和凌晨12點發文為主,由此可大致推測標的讀者的作息時間。

 

 

第三步,計算每個小時段發文閱讀量的平均數或者中位數。如下圖,可見晚上8點鐘發文的閱讀量中位數最高。

 

 

那些發文量靠前同時平均閱讀量最高的小時段就應該是最佳發文時間,該公眾號應該選擇在更早的8點發文而不是大量集中在9點發文,凌晨12點就更加不合適了。實際統計中發現相當大比例的公眾號並非在最佳的小時段發文。

 

以上資料和統計計算工作透過都可以透過weixin_crawler一鍵完成,現在回到開源微信公眾號爬蟲weixin_crawler。

 

What is weixin_crawler?

 

weixin_crawler是一款使用Scrapy、Flask、Echarts、Elasticsearch等實現的微信公眾號文章爬蟲,自帶分析報告和全文檢索功能,幾百萬的檔案都能瞬間搜尋。weixin_crawler設計的初衷是盡可能多、盡可能快地爬取微信公眾的歷史發文

主要特點

 

  1. 使用Python3編寫

  2. 爬蟲框架為Scrapy並且實際用到了Scrapy的諸多特性,是深入學習Scrapy的不錯開源專案

  3. 利用Flask、Flask-socketio、Vue實現了高可用性的UI介面。功能強大實用,是新媒體運營等崗位不錯的資料助手

  4. 得益於Scrapy、MongoDB、Elasticsearch的使用,資料爬取、儲存、索引均簡單高效

  5. 支援微信公眾號的全部歷史發文爬取

  6. 支援微信公眾號文章的閱讀量、點贊量、贊賞量、評論量等資料的爬取

  7. 自帶面向單個公眾號的資料分析報告

  8. 利用Elasticsearch實現了全文檢索,支援多種搜尋和樣式和排序樣式,針對搜尋結果提供了趨勢分析圖表

  9. 支援對公眾號進行分組,可利用分組資料限定搜尋範圍

  10. 原創手機自動化操作方法,可實現爬蟲無人監管

  11. 反爬措施簡單粗暴

 

使用到的主要工具

 

語言:Python3.6

web框架:Flask / Flask-socketio / gevent

js/css庫:Vue / Jquery / W3css / Echarts / Front-awsome

爬蟲:Scrapy
儲存:Mongodb / Redis
索引:Elasticsearch

 

功能展示

 

UI主介面

 

 

新增公眾號爬取任務和已經爬取的公眾號串列

 

 

爬蟲介面

 

 

設定介面

 

 

公眾號歷史文章串列

 

 

報告

 

 

搜尋

 

 

加入社群

也許你屬於:

  • 剛剛畢業的技術小白,沒啥專案開發經驗

  • 能輕鬆讓weixin_crawler跑起來的老司機

  • 爬蟲大牛,指哪兒爬哪兒

  • 你可能是從事新媒體運營一類工作,完全不懂程式設計但是希望充分運用weixin_crawler的各項功能服務於自己的工作

不管你屬於哪一類,只要你對微信資料分析有濃厚的興趣,透過作者微信加入我們的社群都能獲得想要。


回饋作者

weixin_crawler從2018年6月份就開始利用業餘時間開發(居然用了半年時間),無奈作者水平有限,至今才勉強能拿出一個可用版本分享給各位爬蟲愛好者,多謝大家的期待。如果你喜歡這個專案,期待你的回饋。

你可以透過以下任意一種方式回饋作者(可多選哦):

  • 一個小小的star,並把這個有趣的開源專案分享給別的開發者,哪怕只有一位,只要他也是在技術精進道路上的砥礪前行著

  • 打賞給作者一杯咖啡,以後的熬夜奮戰也因此多了一絲效率 :)

  • 加入社群一起貢獻程式碼,我們一起創造出更酷的爬蟲

  • 加入知識星球聽作者將weixin_crawler的每一個函式和每一個問題解決的思維過程娓娓道來,你會因此認識更多意志堅定的開發者

github地址 

https://github.com/wonderfulsuccess/weixin_crawler

 

贊(0)

分享創造快樂