文章结构:
实验主题、实验工具、实验过程、错误报告与错误分析、小组个人利用scrapy爬取教师信息实验报告
一. 实验主题
爬取四川大学公共管理学院新闻动态上的新闻,包括标题、发布时间、正文。
二. 实验工具
八爪鱼采集器7.3.8
三. 实验过程
八爪鱼是一款可视化的网络爬虫制作工具。本次实验使用八爪鱼的自定义采集,完成数据采集实验。
-
将新闻动态的网址,复制粘贴到采集网址处后,点击保存网址,系统会进入到流程设计页面并自动打开输入的网址。
-
采集新闻动态属于分页列表详细信息采集,我们先建立分页循环流程,鼠标点击浏览器页面的“下一页”按钮,在弹出的对话框中选择“循环点击下一页”。
下面对新闻标题创建循环点击
我们要把每个新闻的链接打开,进入详情页面,然后再采集详情里面的数据。结合前面建立的翻页循环,我们就能自动点击下一页翻页,对每一页的新闻标题列表都能逐个打开进入详情页,从而完成对所有新闻详细数据的点击并最终达到提取所有数据的效果。
-
鼠标点击下图中第一个新闻标题“行政管理系成功举办台湾台北大学张四明教授学术讲座”链接,这时候点击右边操作提示框中的“选择全部”选项,然后再选择“循环点击每个链接”选项即可。
接下来就是最终提取数据的步骤了。
-
鼠标点击页面中要提取的内容,包括标题,发布时间和正文,连续选择提取内容,默认“采集该元素的文本”,选择好后,点击“采集数据”。
-
这样提取完毕之后我们可以点击流程按钮,修改字段名称以及简单的处理一下提取到的数据。在下面的界面中,左侧是采集任务的逻辑图,在右侧修改字段名称。修改完成后,点击“确定”保存。
采集逻辑如下图所示:
-
在上图中,我们可以看见在时间字段中,包括“发布时间:”这几个字,通过八爪鱼,我们可以在采集的时候将这几个字去掉。选中时间这个字段,点击“自定义数据字段”。
依次点击“格式化数据”,“添加步骤”,“正则表达式匹配”,输入如图所示正则表达式,点击“计算”和“确定”,即可。
然后再次点击“确定”,即可回到流程界面,这时可以看见时间字段中,数据只有日期了。
-
点击“保存”后,点击“开始采集”,再在弹出的对话框中选择“启动本地采集”(其他几种方式需要付费)
采集结果如下图:
系统会在本地电脑上开启一个采集任务并采集数据,任务采集完之后会弹出一个采集结束的提示,接下来选择导出数据,我们选择将数据导出为csv文件,采集完之后,我们发现有41条重复数据,最终我们采集到400条新闻。
四. 错误报告与错误分析
错误报告:
错误分析
提取数据的目标网页是:
- 新闻栏中有专题栏目,点击进入后与目标页面网页结构不一致,采集失败
- 链接中含有来自四川大学网站的新闻,点击进入后与目标页面网页结构不一致,采集失败
- 新闻中有英文专题,也是因为网页结构不一致的原因,采集失败。
- 还有来自CCTV官网的视频新闻
数据重复的原因
目标新闻网页存在重复:
五. 总结
当前使用八爪鱼所设置的爬取规则太过简单,缺乏对特殊情况的判断和处理。
六. 小组成员个人利用scrapy爬取公共管理学院教师信息的实验报告
cc01——使用scrapy爬取四川大学公共管理学院教师信息实验报告
yjl33——scrapy学习
zl36——八爪鱼+Scrapy爬取公共管理学院新闻动态&教师信息