西宁贴吧,泰安seo培训,大连做环评网站,嵌入式软件开发流程规范一
几年前用 Python 写过一个程序#xff0c;自动抓取各市文化局网站相关栏目文章#xff0c;然后把抓到的文章#xff0c;写成离线网页#xff0c;发到指定邮箱。
当时针对每个网页写一个爬虫#xff0c;对每一个网页都进行分析。比如#xff0c;标题是什么#xff0… 一
几年前用 Python 写过一个程序自动抓取各市文化局网站相关栏目文章然后把抓到的文章写成离线网页发到指定邮箱。
当时针对每个网页写一个爬虫对每一个网页都进行分析。比如标题是什么发布时间在哪正文内容如何保存等等。因为工作量慢慢变大后来就把它放到代码库里吃灰。
现在每天要采集整理各地文旅信息去年年底又重新捡起之前的代码。
重构了一遍代码大体实现自动抓取全省16个市局、文化报、旅游报、相关文化机构、多数省级文旅部门网站的每日更新信息。最后写了一个网页动态呈现抓取信息。
现在每天早上程序自动运行逐个查看各地文旅网站更新了没有更新了什么并对信息库进行同步。 二 总体实现步骤如下
第一步用查看每一个信息源网站的更新情况只抓取主页上的两项信息即链接标题、链接地址以文本文件形式保存到本地。
通过多个程序分别对全省16市文旅部门及相关机构、省级文旅部门、文化报、旅游报、副省级城市文旅部门网站进行访问。
第二步将信息保存到本地与数据库表已有记录进行比对如果数据库表中不存在相同的记录则对数据库表进行更新。
第三步所有代码及数据更新后同步到代码库。
第四步写一个网页内网使用对数据库中信息分类呈现并提供检索功能。
第五步通过脚本windows 环境的自动批处理文件依次调用第一步、第二步里的多个程序加入操作系统的任务计划程序定时运行。
工作流程共五个环节获取、更新、同步、呈现、运行。
三
以上工作量最大的是第一步即信息获取。
由于每个信息源的最新信息、主要信息一般会在网站主页呈现所以只需关注主页更新即可。
这里的技术难点主要有两个
1、不同的信息源网站保存信息的方式不同需要分别处理。
2、少数信息源网站采用特殊设置要避开这些特殊设置需要对网站进行深入分析和调试这给自动获取信息带来一些困难有些甚至解决不了。
四
这是一个非常小的、相当简陋的项目实现过程中有一些收获。
其中最大的收获是可以更方便地了解各地文旅动态不用再逐个翻看网站节省了不少时间。
其次在实现过程中也进一步熟悉了相关技术。比如如何用 python Selenium 模拟网页访问如何避开网站的一些特殊设置如何使用 python Sqlite 操作数据库如何用 python flask 写动态网页包括网页模板、检索功能实现等如何使用 Git如何自动化工作流程等等。此外通过代码重构还加深了对程序模块化设计的理解。
五
信息采集是一个常见的需求。
大的搜索引擎如百度、谷歌、搜狗、必应等都是基于信息采集而发展起来的“重型武器”。对大多数行业来说可能不需要这大的“火力”仅需要自身行业的信息库。
基于浩如烟海的网络信息建立属于行业自身的信息库并不断更新是必要且必须之事。
还可以做哪些扩展
从内网到外网使用从PC端到移动端搜集更多数据整理更多信息挖掘更多知识呈现更多智慧......