「完結篇」網絡爬蟲+實時監控+推送微信


一、緣 起

本片文章是在筆者之前寫過的文章:《 定時從某網站爬取壓縮包 》、《「爬蟲」從某網站爬取數據》基礎上,對網絡爬蟲學習並應用於實際的另一次新功能擴充筆記,該腳本的核心功能如下:

  1. 每天11點和17點准時推送房管局登記網站目前【正在登記】的項目信息和當前登記人數(定時推送的時間可根據實際情況自由配置)
  2. 7x24小時實時監控房管局登記網站,一旦有【即將開始】登記的項目第一時間推送微信消息提醒大家

二、思 路

首先,用Python BeautifulSoupSelenium + Phantomjs技術爬取目標頁面的需求字段
然后,將目標字段整理成易讀string類型數據,通過Python3發微信的第三方庫wxpy來推送微信到希望通知的聯系人或群聊
最后,將爬蟲腳本在jenkins定時構建,達到定時推送爬取數據和實時監控的效果

三、說 明

腳本結構

  1. 環境:Linux + jenkins,用於部署實時監控腳本和jenkins環境
  2. Python3.6 + BeautifulSoup(bs4) + Selenium Phantomjs,爬蟲腳本主要基於bs4PhantomjsPhantomjs主要用於爬取被加密頁面的數據
  3. byWeChat.pyrunWeChat.py為微信推送方法的實現和登錄微信的實現,在receiverCfg.ini文件配置接收人或群聊
  4. 其余腳本均為在目標網站爬取需求字段的腳本,詳情見README.md文件

四、實 現

因為本次功能開發的腳本較多,故不在此一一說明,詳情見該項目的Git地址,但是還需要強調:

  • 主腳本為:sendComeSoonRegis.py(獲取即將開始登記項目信息)和sendRegistering.py(獲取正在登記項目信息)
  • Python推微信消息需要用到wxpy這個第三方庫,如果想讓微信7x24保持登錄狀態,需要在微信登錄緩存失效前再次運行登錄微信的腳本,這是我目前解決無法持續登錄微信的笨辦法,讀者若有更好的方法,歡迎下面留言~
  • 另外,因為房管局官網有些網頁是加密的,所以用bs4無法獲取頁面,我同樣用到的笨辦法是用Selenium + 無頭瀏覽器Phantomjs

五、最 后

  • 看一下效果吧

推送微信消息
祝大家

Git地址:https://gitee.com/freedomlidi/autoGetRegisDataPlus.git

OK!

~
~
~

不積跬步,無以至千里


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM