新浪微博数据爬取研究.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
新浪微博数据爬取研究.doc

新浪微博数据爬取研究   摘 要:新浪微博的快速发展促进了基于微博数据的研究发展,如何获取微博数据是开展相关研究的首要问题。文中就分析爬取新浪微博数据的方法,提出了一种基于Python的语言,直接设置已登录用户Cookie信息,模拟浏览器访问的新浪微博数据爬取方案,解决了不使用新浪微博开放平台API爬取微博数据的主要问题,所实现的爬虫程序编程简单、性能稳定,能有效获取微博数据。   关键词:新浪微博;数据爬取;微博爬虫;Python   中图分类号:TP391;TP311 文献标识码:A 文章编号:2095-1302(2016)12-00-04   0 引 言   随着互联网的不断普及,人们越来越多地参与到互联网的社交活动中,微博作为典型的互联网社交活动,得到了迅速发展。新浪微博是国内出现最早,也是规模最大的微博社区,新浪微博数据中心发布的“2015微博用户发展报告”指出:“截止2015年9月,微博月活跃人数已达到2.22亿,较2014年同期相比增长33%;日活跃用户达到1亿,较去年同期增长30%。随着微博平台功能的不断完善,微博用户群逐渐稳定并保持持续增长。”[1]   微博用户群的增长使得基于微博数据的社交网络分析[2]、用户行为分析[3, 4]和网络数据挖掘[5]等相关研究越来越受到人们的重视,而如何从微博爬取感兴趣的数据则成为研究者要解决的首要问题。本文分析微博数据的爬取方式,提出一种基于Python模拟浏览器登录的微博数据爬取方案,并讨论针对微博反爬机制的相关处理。   1 微博数据的爬取方式   微博数据的爬取通常有两种方式,一种是调用新浪微博开放平台提供的微博开放接口,另一种是开发爬虫程序,模拟微博登录,分析获得的HTML页面,提取所需信息。   1.1 调用微博开放接口   新浪微博开放平台[6]提供了二十余类接口,覆盖了微博内容、评论、用户及关系的各种操作,理论上该方法是最直接、方便的方式。但新版的微博开放接口存在一些限制,对于小型研究团队或个人而言不是很方便,突出表现在以下几点:   (1)微博开放接口使用Oauth2.0认证授权,如果希望得到另外一个用户的个人信息和微博内容,则必须由该用户授权;   (2)微博开放接口存在访问频次限制,对于测试用户的每个应用,每小时最多只能访问150次;   (3)很多研究所需要的数据只能通过高级接口才能访问,需要专门申请和付费。   正是因为这些限制的存在,自己设计开发网络爬虫程序获取微博数据就成了必不可少的备选或替代方案。   1.2 开发微博爬虫程序   设计开发微博爬虫程序需要分析新浪微博的特点、明确爬取数据的目的及用途,选择合理的开发语言,保证高效、稳定地获取微博数据。   1.2.1 新浪微博的特点   与一般网站相比,新浪微博具有以下特点:   (1)新浪微博面向登录用户,在访问微博数据前,用户必须先登录;   (2)微博博文的显示采用了延迟加载机制,一次只显示一个微博页面的部分博文,当用户浏览博文滚动到底部时,才继续加载当页的其他博文;   (3)新浪微博有较完备的反爬虫机制,一旦微博服务器认定爬虫程序,就会拒绝访问。   基于新浪微博的上述特点,在设计微博爬虫时,需要对以上特点进行针对性处理。   1.2.2 开发语言选择   从快速获取微博数据的角度看,Python是开发微博爬虫的首选语言,其具有如下特点:   (1)Python是一种解释型高级语言,具有文字简约、容易学习、开发速度快等特点;   (2)Python具有较丰富的库及第三方库,在开发爬虫方面比其他语言方便。考虑新浪微博在一段时间后就会微调其数据格式,因此使用Python开发微博爬虫程序具有较高的易维护性。   2 微博爬虫的实现   2.1 微博爬虫的框架结构   本文讨论的微博爬虫程序包括爬虫调度器、URL管理器、页面加载器、HTML解析器和数据输出器五个功能模块,其框架结构如图1所示。   图1 微博爬虫的框架结构   2.1.1 爬虫调度器   爬虫调度器是爬虫的控制程序,主要负责协调和调度微博爬虫的各个模块,其核心功能包括以下几项:   (1)实现爬取微博数据的流程;   (2)控制其他模块的执行;   (3)模拟浏览器登录,为页面请求添加Headers信息;   (4)控制微博访问频率,避免反爬虫机制拒绝访问。   2.1.2 URL管理器   微博爬虫采用广度优先遍历策略提取需要的数据,URL管理器需维护已经爬取的URL列表和等待爬取的URL列表。在得到新URL之后,首先检查已经爬取的URL列表,如果该URL不在列表中,则将其添加到等待爬取的URL列表。   2.1.3 页面加载器   页

您可能关注的文档

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档