python爬虫获取信息并通知(入门)
2019-07-06 20:20:34
由于在生活中会遇到停水电气的情况,但实际上有些情况是存在通知消息的,我们不能无时无刻进入相关网站查询,因此需要建立一个爬虫程序定时获取相关的信息并且推送至需要的人。
之前也涉及到使用JAVA编写爬虫程序获取数据,使用JAVA无论是在拉取页面或者相关第三方库引用时效率过低,使用不太灵活,借此机会入门python编写爬虫程序。
1、首先收集相关网站的数据获取的方式,首先查询信息来源的途径,优先考虑接口直接返回数据,如果无法通过接口直接获取数据就通过页面获取静态数据。通过分析得到停气、停水的通知信息都能顺利通过以上的方式得到。停电通知通过了比较复杂的加密以及校验请求数据,目前无法解决这个问题因此暂时只实现停水和停气的爬虫。
2、分析了数据获取方式后开始写python程序,看完一个简单的python实例实现后就着手开始编写,编辑器使用了pycharm。整个爬虫程序并不复杂,设置爬虫程序60分钟执行一次,一次扫描两个网站的页面数据,当扫到关键字后查询redis是否已经扫描过此条信息并且发送邮件通知,当没有标识已发送则发至所需的邮箱进行通知,并且将此条记录的一个关键值作为key值存入redis,防止通知的重复发起。
3、程序通过几次优化后稳定运行中,因为也是第一次接触python,并且也没有进行系统的学习直接上手一个程序,所以整个过程中还是边查边写的过程。