基于scrapy框架的微博爬虫

基于scrapy框架的微博爬虫

ID:20655555

大小:776.44 KB

页数:15页

时间:2018-10-14

基于scrapy框架的微博爬虫_第1页
基于scrapy框架的微博爬虫_第2页
基于scrapy框架的微博爬虫_第3页
基于scrapy框架的微博爬虫_第4页
基于scrapy框架的微博爬虫_第5页
资源描述:

《基于scrapy框架的微博爬虫》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、学士学位论文基于Scrapy框架的微博爬虫学生姓名白翔学科专业软件工程指导教师邹昌伟福建师范大学软件学院 二О一四年四月基于Scrapy框架的微博爬虫软件学院软件工程专业123012010051白翔指导教师邹昌伟【摘要】微博作为基于用户关系信息分享、传播以及获取的平台,已经成为当今社会信息传播最为便捷的渠道。随着用户圈子扩大,数据量增长,重要的信息往往淹没在庞大的信息流中。通过开发基于Scrapy框架的微博爬虫可以批量获取微博信息,若对其进行整理、筛选、挖掘,可以使信息得到更有效的传播。【关键字】Scrapy;网络爬虫;微博;信息。目录1引言51.1课题背景51.2课题调研5

2、1.2.1微博平台选取51.2.2微博开放平台51.3课题介绍52Scrapy框架介绍52.1Scrapy概述52.2Scrapy架构分析52.3XPath介绍63数据采集73.1数据来源73.2数据抓取73.2.1通过Scrapy框架抓取73.2.2通过PC端脚本抓取83.2.3伪造HTTP请求抓取83.3数据抓取结果94数据解析104.1解析过程概述104.2页面信息分析104.3Item类设计104.4制定解析规则105数据存储115.1存储过程概述115.2网页文件存储115.3结构化信息存储115.3.1提取结构化信息115.3.2持久化存储126结束语136.1课

3、题成果总结136.2后续工作展望13致谢14参考文献151引言1.1课题背景信息泛指人类社会传播的一切内容,是对客观世界中各种事物的运动状态和变化的反映。随着互联网的日益普及,网络已经成为信息传输、接收、共享的虚拟平台。信息通过网络迅速的传播到世界各地,从而实现资源的共享。微博是一个通过网络传播,基于用户关系信息分享、传播以及获取的平台,已逐渐成为最便捷的信息传播媒介。在微博平台上,用户能够在圈子内免费、及时的传播信息。网络爬虫是一种自动获取并解析网页源码的程序,从一个或若干初始网页的URL开始,不断地从当前页面上解析出新的URL放入队列,直到满足设定的停止条件。换言之,网络

4、爬虫可以通过解析网页源码来获取网页的内容,并从中提取需要的信息。通过将微博平台与网络爬虫相结合,就能获取用户圈子内传播的微博,了解圈子内的动态,并从中提取有价值的信息。但随着用户圈子的扩大,信息量也随之增长,信息的内容也涉及各个方面,重要的信息往往淹没在庞大的信息流中而无法得到及时的关注。本课题将制作一个demo,实现对微博信息的抓取,并对解析后的信息进行持久化存储。1.2课题调研1.2.1微博平台选取新浪微博是一个由新浪网推出,提供微型博客服务的类Twitter网站,是一款为大众提供娱乐休闲生活服务的信息分享和交流平台。截止至2013年3月底,新浪微博用户数已达5.56亿,

5、活跃用户数高达5000万[1]。鉴于新浪微博是当前国内用户量最大的微博平台,本课题将基于新浪微博展开。1.2.2微博开放平台新浪微博提供的微博开放平台(WeiboOpenPlatform)是基于微博海量用户和强大的传播能力,接入第三方合作伙伴服务,向用户提供丰富应用和完善服务的开放平台。使用微博开放平台提供的API,可方便的实现对微博内容的抓取,但前期调研中发现其提供的API对用户每小时内的请求次数具有限制[2],具体限制分为用户维度和IP维度。考虑到本课题的可扩展性,决定放弃使用其提供的API对微博内容进行抓取。1.3课题介绍在本课题中,用户圈子将采用与本校园生活相关的新浪

6、微博(@福建师大溪源论坛),该微博有团队负责运营,会及时转发圈子内与校园生活相关的信息,如失物招领、寻物启示、二手买卖、校园投诉、生活询问等信息。我们将基于Scrapy(Python实现的Web抓取框架)开发网络爬虫,获取该微博转发的内容并对抓取信息进行持久化处理,提供更为有效的信息传播。2Scrapy框架介绍2.1Scrapy概述Scrapy[3]是一个基于Python实现的,快速、高层次的屏幕抓取和Web抓取框架,通过抓取Web站点并从页面中提取结构化的数据,可用于数据挖掘、检测和自动化测试。框架提供了多种类型的爬虫基类,具有良好的可扩展性,可以便捷的在框架基础上根据需求

7、进行开发。[4]2.2Scrapy架构分析SchedulerRequestsRequestsDownloaderItemPipelineScrapyEngineConfigResponsesItemSpiders图2-1本节将对Scrapy框架的架构[5]进行简单的分析,图2-1显示了Scrapy框架的主要模块及系统的数据处理流程,下面简单介绍下每个模块的作用以及数据在系统中的处理过程:①ScrapyEngine(Scrapy引擎):Scrapy引擎是整个框架的核心,其作用是控制整个系统的数据处理流程,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。