数据采集任务——爬取四川大学公共管理学院主页新闻实验报告

1.实验目的和要求
1.1实验目的
爬取公共管理学院网站上的所有新闻,了解和熟悉网络信息采集的相关技术。
1.2实验要求
用任何可以用的方法,爬取四川大学公共管理学院(http://ggglxy.scu.edu.cn/)上所有的新闻,包括“新闻标题、新闻发布时间、新闻正文”三个字段。我们尝试过的方法有八爪鱼数据采集工具、Python爬虫代码。

2.实验环境
2.1八爪鱼数据采集工具
八爪鱼采集器是一个云采集服务平台,提供数据采集、数据分析等功能,是可视化的图形操作采集器。它的基础功能如简易采集、自定义采集等可以免费使用。本次实验使用的是八爪鱼7.0版本的自定义采集功能,采用本地采集的方法。
2.2使用Python scrapy框架爬取
本次实验使用的Python版本为2.7.14,安装完成Scrapy。采用服务器采集的方法。

3.实验方案
3.1八爪鱼采集器实验方案

3.1.1登录八爪鱼7.0版本,输入网址,新建采集任务
新建任务.png

3.1.2制作翻页循环和每条新闻链接的点击循环
点击循环.png
翻页循环.png

3.1.3规定每个新闻链接的具体采集规则


采集规则.png

3.1.4确定采集流程和数据


采集流程.png

采集格式预览.png

3.1.5采集工具结果界面
采集结果.png

3.1.6错误报告及补充采集结果
经过我们的检查,错误报告中的网页一共有四种类型:
A. 链接网页内部还有嵌套链接,如“120周年校庆”等专题网页链接;
B. 其他格式的网页,如视频、图片、外部网站的链接等。
C. 网页出错,无法打开;
D. 是单独的文章,但可能由于系统出现问题或者文章格式不同(没有标题等)的原因,没有爬取下来。


补充采集结果1.png

我们对出错的每个网页链接进行了单独的第二次数据采集,其中图片、视频等B类格式的网页没有进行采集,最终采集得到的数据结果导出的excel表格部分截图如下:
补充采集结果2.png
最终部分采集结果.png

以上为八爪鱼的部分
3.2使用Python scrapy框架爬取实验方案
3.2.1云服务器配置:为Python安装scrapy
(1)检查当前服务器是否配置了scrapy
(2)退出Python交互,使用yum安装scrapy和部分依赖。


安装scrapy.png

经查询, 解决方法为:
vi /usr/libexec/urlgrabber-ext-down
把头部的python改成和/usr/bin/yum中一样的
修改完成后,再次使用yum安装scrapy:


修改完成后再次安装scrapy.png

3.2.2检查scrapy安装
进入Python交互环境,import scrapy enter,发现引用成功,退出交互环境。
检查安装结果.png

scrapy version enter
查看scrapy版本.png

版本信息查看成功。
至此,云服务器上配置Python scrapy成功。

3.2.3编写代码并进行调试
根据之前八爪鱼的经验可以看出,我们需要采集的实体共有三个:标题、日期和正文(另有一个实体为图片,暂时不做要求)。
scrapy startproject ggnews enter
cd /ggnews/ggnews enter


文件结构1.png
文件结构2.png

编写ggnews.py


编写ggnews.png

3.2.4输入命令进行爬取,得到数据
输入scrapy crawl ggnews -o ggnews.xml
出现以下错误


报错1.png

出现了报错,但显然我们代码里面是有items这个类的。经过查询,这个错误用简单一句话来描述就是: 爬虫的名字跟项目的名字一样,导致最终导入的时候出错。
修改爬虫名字为spidernews.py。虽然名字长了一点,但是看起来很容易理解。
再次执行代码,得到文件ggnews.json


初次爬取结果.png

发现初次爬取的结果为Unicode编码,并不是理想的中文格式。经过查询,需要修改pipelines.py和settings.py这两个文件,使得输出的结果为中文格式。

3.2.5修改pipelines.py和settings.py文件


修改pipelines文件.png
修改settings文件.png

3.2.6解决缩进问题
修改完成之后再次运行命令scrapy crawl spidernews。又出现了新的问题:


报错2.png

经过查询,这是缩进的问题。Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。在编译时会出现这样的错“IndentationError:expected an indented block”说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。
修改完成,再次运行命令


第二次爬取结果.png

得到理想的结果。
至此,使用Python scrapy框架进行爬取的过程结束。
4.经验总结
4.1八爪鱼采集器的经验总结

经验总结
由于本次实验只使用了数据采集的功能,因此评价和总结只针对数据采集方面的功能。八爪鱼让数据采集可视化,在完全不懂爬虫代码的情况下,八爪鱼是一个比较方便的网络数据采集工具。根据使用经验,它对公共管理学院网站新闻的爬取速度大概是29条/分钟,数据可以导出为excel、CSV等格式。
但是,它也有一些使用限制。首先是费用方面,它的数据导出是需要积分的,每10条数据一个积分,单次不足10条按10条算,用户首次注册后,它会赠送2000个积分;在采集数据量很小的情况下,可以免费使用,但是在采集数据量很大的时候,需要支付一定费用才能导出数据。其次是使用方面,由于八爪鱼是已经编写好的采集工具,因此在采集数据时使用会受到一定的限制,可能不像直接使用代码一样可以比较自由地规定采集数据的规则细节(比如采集时间段、采集时长等)。
4.2Python scrapy的实验总结
本次实验共爬取到407条数据,然而学院新闻网站上共有458篇新闻。为什么会缺少了51篇,我们到现在还没有找到答案,希望在接下来的学习中可以解决这一问题!在数据采集的过程中,爬取数据的规则和方法是最最最重要的部分,一定要充分利用浏览器的开发者工具,保证路径的严格正确;此外是编码问题和分页问题。由于刚刚接触python,对python的要求还不是很熟悉导致了修改时间很长,在接下来的学习中要尽快适应python的规则。另外还有有足够的耐心和细心,这样才能养出好的爬虫。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容