推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python的新浪微博用户数据采集与分析

更新时间:2019-12-21 16:57:46 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python数据采集 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

针对微博用户添加的标签体现了其自身特点及兴趣的情况,为探索微博用户添加标签的行为及特点,首先利用Python与Web自动化工具基于广度优先策略抓取微博用户、用户关系、微博内容、微博评论等数据,并将其存储在数据库中。其次,利用Pandas分析了微博数量的分布情况、用户添加标签的行为及内容,通过使用Matplotlib将分析结果可视化,并利用k-means算法对添加标签的用户进行了聚类分析。由此通过基于用户标签的聚类分析结果可用于个性化推荐及舆情分析等方面。


部分文件列表

文件名 大小
基于Python的新浪微博用户数据采集与分析.pdf 2M

部分页面预览

(完整内容请下载后查看)
2720期  
Vol.27 No.20  
电子设计工程  
Electronic Design Engineering  
201910月  
Oct. 2019  
基于 Python 的新浪微博用户数据采集与分析  
高 雅方园  
京石油化工学院 经济管理学院102617)  
摘要针对微博用户添加的标签体现了其自身特点及兴趣的情况探索微博用户添加标签的行  
为及特点先利用 Python Web 自动化工具基于广度优先策略抓取微博用户户关系博内  
博评论等数据将其存储在数据库中。其次Pandas 分析了微博数量的分布情况用  
户添加标签的行为及内容过使用 Matplotlib 将分析结果可视化利用 k-means 算法对添加标  
签的用户进行了聚类分析。由此通过基于用户标签的聚类分析结果可用于个性化推荐及舆情分  
析等方面。  
关键词微博Python据采集户标签  
中图分类号TP391  
文献标识码A  
文章编号1674-6236201920-0157-04  
Data collection and analysis for Sina weibo user based on Python  
GAO YaSU YanXI Fangꢀyuan  
Economics and Management CollegeBeijing Institute of Petrochemical TechnologyBeijing 102617,  
China)  
Abstract: The tags added to Weibo users reflect their own characteristics and interests. This paper aims  
to explore the characteristics of users' tagging behavior. This paper first use Python and Web automation  
tools to capture data such as Weibo usersuser relationshipsblog content and comments. The captured  
data is stored in the database. SecondlyPandas is used to analyze the distribution of the number of  
microblogsthe behavior and content of users adding tagsvisualize the analysis results by using  
Matplotliband use the k-means algorithm to cluster the users who add tags. Thereforethe results of  
cluster analysis based on user tags can be used for personalized recommendation and public opinion  
analysis.  
Key words: weiboPythondata collectionuser tag  
根据中国互联网络信息中心发布的第 40 中  
国互联网络发展状况统计报据显示2017  
6 国网民规模达到 7.51 亿机网民规模达  
7.24 亿 移 动 互 联 网 已 渗 透 到 人 们 生 活 的 方 方 面  
面。新浪微博是国内主流的社交网站为大众提  
供了一个信息分享和交流的平台。根据新浪微博数  
据中心发布2017 微博用户发展报2017  
9 博月活跃用户共 3.76 亿活跃用户达到  
1.65 亿[1]。用户可以通过微博创造分享内容人对  
同一话题进行讨论且可以转发论他人微博,  
微博的内容涉及娱乐政  
等诸多领域为时事交流闲娱乐的一种渠道。  
用户在微博上的一系列行为关注好友加标  
表微博读微博微博的点赞和评论等行  
为产生了大量数据些数据反映了用户之间的关系  
以及用户的兴趣集并分析这些数据个性化推  
[2]准营销[3-4]情分析[5-7]中有潜在的应用价值。  
1 微博用户数据采集  
1.1 微博数据采集的相关技术  
目前集新浪微博数据的方式主要包括通过  
收稿日期2019-03-10  
稿件编号201903074  
基金项目北京市社会科学基金项14SHB010京市大学生研究训练项2017J00072京石油化工学  
院教改项11010482031)  
作者简介1996京人。研究方向息管理。  
-157-  
电子设计工201920期  
微博平台提供的 API 口抓取于网络爬虫的微  
博数据抓取以及基于采集器的微博数据获取[8-10]这  
些方式各有利弊。本文通过网络爬虫采集微博数  
将数据存储在 MySQL 数据库中。  
Selenium 一个用于 Web 用程序测试的工  
可直接运行在多种浏览器中。通过 Selenium  
可模拟用户对浏览器的各种操作并获取操作结果[11]。  
Beautiful Soup 是一个可以从 HTML XML 文件中提  
取数据的 Python Beautiful Soup 以解析获  
取的网页中获取所需的信息。因为必须登录方  
可访问新浪微博以我们通过 Selenium 拟登录  
并访问网页后利用 Beautiful Soup 从获取的网页  
中提取我们所需的信息。  
1 用户数据采集流程图  
1.3 微博内容采集  
1.2 用户数据采集  
微博内容采集流程与用户采集流程类似用  
Beautiful Soup 析微博页面样根据解析获得的  
微博 ID 用户 ID 访问该微博的评论列表发列  
表。将微博内容的相关信息采集后存储在 MySQL  
数据库中的微博表论表中中微博表的字段包  
含微博 IDID博类/博内  
赞数量发数量论数量布时间布  
平台。  
新浪微博分为互联网版与手机版中手机版  
的域名为 weibo.cn采集用户信息涉及的页面包括  
用户的主页细资料页细标签页丝列表页、  
关注好友页些页面的 URL 址与该用户的 ID  
UID个性域名相关如通https://weibo.cn/+  
个性域名可访问用户主页
cn/+ UID+/follow访问其关注用户的列表过  
https://weibo.cn/account/privacy/tags/?uid=+ UID”访  
问其详细标签页。我们利用 Beautiful Soup 解析这些  
页面析相应的标签及元素而抓取相关信息。  
文中采取基于广度优先的搜索策略来抓取用户  
信息[12]首先选择一个种子用户取该用户信息  
及其关注用户列表果一个关注用户尚未抓取则  
将其加入待抓取用户队列。该用户处理结束后待  
抓取用户队列中队头用户出队其进行处理环  
上述过程至达到抓取用户数量要求 n 止。根  
Python 语言的特点此定义队列 userQueue 用于  
存 储 待 访 问 用 户 的 UID 及 个 性 域 名 定 义 集 合  
userSet 用 于 存 储 已 经 访 问 过 的 用 户 定 义 列 表  
followList 储正在处理的用户所关注的用户列表。  
用户数据采集流程图如图 1 所示。  
2 微博用户数据分析  
2.1 数据分析的相关技术  
在利用 Python 行数据的处理析以及展示  
工作时常使用一些第三方的 Python [13]Numpy  
Python 学计算的基础包供数组支持以及相  
应的快速高效的处理函数。Matplotlib Python 最著  
名的绘图库主要用于二维绘图我们可以快捷  
地可视化数据。Pandas Python 下最强大的数据分  
析和探索工具包含高级的数据结构如 Series 和  
DataFrame 以及精巧的工具使得在 Python 中处理数  
据快速而且简单。下面利用 Python 对采集到的微博  
用户的相关数据进行分析。  
接下来将采集到的用户数据存储在 MySQL 数  
据库中MySQL 据库中建立用户信息表注  
中用户信息表的字段包括用户 ID性域名、  
会员级别在地区证信  
户标签博数量注数量丝数量。关注  
表中包括存在关注关系的两个用户的用户 ID 及  
个性域名。  
2.2 微博用户分布分析  
我们选取人民网法人微UID 2286908003、  
个性域名为 renminwang为种子用户经过多次采  
对重复数据失数据及异常数据进行了数据  
的 预 处 理 数 据 库 中 存 储 了 20020 个 微 博 用 户 及  
147417 条关注关系数据面我们就对此数据集进  
行分析。Pandas 可以将存储在关系数据库中的数据  
-158-  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载