「完结篇」网络爬虫+实时监控+推送微信

一、缘 起

本片文章是在笔者之前写过的文章:《 定时从某网站爬取压缩包 》、《「爬虫」从某网站爬取数据》基础上,对网络爬虫学习并应用于实际的另一次新功能扩充笔记,该脚本的核心功能如下:

  1. 每天11点和17点准时推送房管局登记网站目前【正在登记】的项目信息和当前登记人数(定时推送的时间可根据实际情况自由配置)
  2. 7x24小时实时监控房管局登记网站,一旦有【即将开始】登记的项目第一时间推送微信消息提醒大家

    二、思 路

    首先,用Python BeautifulSoupSelenium + Phantomjs技术爬取目标页面的需求字段
    然后,将目标字段整理成易读string类型数据,通过Python3发微信的第三方库wxpy来推送微信到希望通知的联系人或群聊
    最后,将爬虫脚本在jenkins定时构建,达到定时推送爬取数据和实时监控的效果

    三、说 明

    脚本结构
  3. 环境:Linux + jenkins,用于部署实时监控脚本和jenkins环境
  4. Python3.6 + BeautifulSoup(bs4) + Selenium Phantomjs,爬虫脚本主要基于bs4PhantomjsPhantomjs主要用于爬取被加密页面的数据
  5. byWeChat.pyrunWeChat.py为微信推送方法的实现和登录微信的实现,在receiverCfg.ini文件配置接收人或群聊
  6. 其余脚本均为在目标网站爬取需求字段的脚本,详情见README.md文件

    四、实 现

    因为本次功能开发的脚本较多,故不在此一一说明,详情见该项目的Git地址,但是还需要强调:
  • 主脚本为:sendComeSoonRegis.py(获取即将开始登记项目信息)和sendRegistering.py(获取正在登记项目信息)
  • Python推微信消息需要用到wxpy这个第三方库,如果想让微信7x24保持登录状态,需要在微信登录缓存失效前再次运行登录微信的脚本,这是我目前解决无法持续登录微信的笨办法,读者若有更好的方法,欢迎下面留言~
  • 另外,因为房管局官网有些网页是加密的,所以用bs4无法获取页面,我同样用到的笨办法是用Selenium + 无头浏览器Phantomjs

    五、最 后

  • 看一下效果吧

推送微信消息
祝大家

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

OK!

~
~
~
---
不积跬步,无以至千里

猜你喜欢

转载自www.cnblogs.com/freedomlidi/p/12431277.html
今日推荐