基于python的爬虫性能分析与可视化(源码)【字数:11845】

为了更好的对新闻数据进行分析,让大众直观地了解新闻的发生得到人们的关注度,从人们对新闻的评论的角度分析,利用Python网络爬虫技术,从微博爬取2020年2月新闻的相关数据,对新闻的评论、点赞和转发等进行分析,并使用数据可视化Seaborn 实现,从多角度对新闻进行分析,分析人们对新闻不同观点,同时也可以发现人们对新闻的关注度以及关注点;将Python的数据办理和视图可视化的有点体现出来。
2021年3月1日 目 录
目 录 1
Abstract 4
一、引言 1
(一)选题背景 1
(二)选题意义 2
(三)国内外研究进展 2
二、 开发工具与爬虫原理 3
(一)网络爬虫技术 3
(二)Seaborn 3
(三)爬虫原理 4
三、需求分析 6
(一)功能需求分析 6
(二)获取到的字段 6
四、系统设计 8
(一)功能设计 8
(二)数据库概念设计 8
(三)数据库表设计 9
(四)微博爬虫框架 9
1. 支持Ajax的爬虫程序 9
2. 数据预处理 10
3. 信息收集 10
4. 数据存储 11
五、系统实现 12
(一)功能结构图 12
1. 爬网策略 13
2. 爬网架构 14
(二)微博登录模块 14
1. 爬网订单调度模块 15
2. 爬行发动机 15
3. 结构化数据提取模块 17
六、 实验与可视化结果 18
(一)实验装置 18
(二)实验测量 18
(三)实验结果 19
(四)具体实例 21
总结 25
致 谢 26
参考文献 27
Abstract
In order to better analyze the social news data, the occurrence  *好棒文|www.hbsrm.com +Q: *351916072* 
of masses, intuitive understanding of the social news to get the attention of people, from the perspective of peoples comments on social news analysis, using the Python web crawler technology, from the weibo climb in February 2020, the relevant data of social news, comments on social news, thumb up, forwarding etc is analyzed, In addition, Seaborn is used to realize the data visualization to analyze the social news from multiple perspectives, to analyze peoples different views on social news, and to find out peoples attention and concerns on social news. The Python data processing and view visualization a little embodied.
Keywords: Python; The crawler. Visualization; Weibo social news 一、引言
(一)选题背景
在当今移动通信和web2.0技术的不断进步下,微博的线上交流功能取得了较大的进步发展,平台通过信息资源共享使人们进行跨越空间的交流,用户可以通过网络、邮件等多种方式更新自己的实时信息,一些微博平台正变得越来越流行,比如Twitter、Facebook。
近年来,人们对微博进行了许多有趣的研究,如社会网络分析、社区检测、热点话题检测等。从各个微博站点获取微博数据(主要是更新用户创建的状态)是这些研究的基本步骤。为了满足研究者的需求,一个理想的微博爬虫应该在更新现有用户的更新状态(即覆盖率)和及时获取新用户的更新状态(即新鲜度)之间进行权衡。
然而,现有的大多数为一般网站设计的爬行框架可能并不适用于微博爬行。这是因为微博网站有一些独特的特点。
微博更新迅速,据微博总设计师介绍,截至2021年3月10日,微博的最高发布速度为每秒8000条,远远超过了传统媒体。当用户发布一个更新状态时,他所有的关注者都可以读取更新状态并转发给自己的关注者。对于这样的传播方式,它不是一对一或者一对多,而是多对多的传播方式。
微博网站中的微博条目是以列表的形式组织起来的。由于用户的微博条目通常太大,无法在一个页面中替换,因此大多数微博站点采用分页的方式将长长的微博条目列表划分为多个页面,如图1所示。因此,在该设置中,web内容的单位是微博条目而不是网页。网页的这种行为就像一个卷轴[3],即一个新的微博条目被附加到旧的微博条目上,通常在第一页的开头。这种网页被称为滚动网页。
微博是web2.0技术的典型应用,包括JavaScript、Ajax、级联样式表等。因此,微博网页是动态的,它是在用户访问时生成的,或者是在与用户交互时改变的。在微博中,整个微博网页在用户浏览时被加载三次(向微博服务器发送三个http请求)。
与传统的网络媒体如博客、新闻网站和web2.0技术的一些应用如web论坛相比,如果不登录微博,我们甚至不能访问或浏览用户的微博内容。但是对于传统的网络媒体和网络论坛来说,不需要登录就可以访问 或浏览这些网页。
不幸的是,后三个特征被大多数现有的爬虫程序忽略了。对于第二个特点,传统的爬虫不能很好地处理滚动网页,他们只是把每个单独的网页作为一个单一的对象。假设在,用户的微博包含两个页面,而在,它有三个页面,在P1的开头附加了一些新的更新状态。传统的爬虫程序认为所有的三个页面都被更新了。在这种情况下,它将继续对P2和P3进行重新爬网,尽管这两个页面中没有新的信息。从滚动网页获取数据条目是一个垂直爬行问题。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/252.html

好棒文