zoukankan      html  css  js  c++  java
  • 「完结篇」网络爬虫+实时监控+推送微信

    一、缘 起

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

    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!

    ~
    ~
    ~

    不积跬步,无以至千里

    积跬步,至千里
  • 相关阅读:
    sql日期操作
    用户活跃状态模型
    R基于Bayes理论实现中文人员特性的性别判定
    python的一点小常识
    [工作技能]SVN
    北大计算所词性标注集简表
    c++ boost 汉字和模式串混用的例子
    SVN文本文件报二进制属性的问题
    我的R代码备份
    FaceBook Twitter实习生简历求内推
  • 原文地址:https://www.cnblogs.com/freedomlidi/p/12431277.html
Copyright © 2011-2022 走看看