Python 爬虫人工智能 100GB web 爬虫 数据分析 人工智能视频免费领
文章结尾也有资料领取方式哦
本文主要讲利用微信官方提供的 itchat 接口, 爬取微信好友性别比例和地区分布, 和个性签名词语词云情况, 以便我们更有趣的了解我们的微信好友
环境: windows
技术: itchat,pandas,matplotlib, 结巴分词, 面向对象写法
先看下方大屏幕, 对微信好友个性签名进行词语提取, 并做成五角星状的词云形状
对微信好友性别地区进行分析, 男朋友近 600, 女朋友 300, 还有一些未知生物存在, 不小心暴露了小编的性取向, 好友分布主要集中于广东和河南, 可以猜下小编是哪里人
废话不多说, 直接上代码
1, 创建一个类, 并初始化方法获取朋友信息
self.friends: 数据结构列表包含字典, 每个字典代表每个好友姓名, 地区, 签名等信息 [{},{},{}]
plt.rcParams 用来处理绘图显示中文问题
2, 提取名字, 性别, 省份, 城市, 签名信息, 并保存到新列表
3,pandas 将朋友信息列表转成 dataframe, 并保存为 csv 方便查看
4,pandas 的 value_counts() 方法可以统计每种性别和每个省份出现的次数, 并由大到小排序, 这里我们提取省份前 15 个, 并转成 dataframe 结构
由于有些省份没有填写, 为空, 通过遍历, 将空的省份替换成 "未知"
5, 绘图, 参数说明 + 绘图方法
6, 对获取到的签名数据结巴分词, 提取词语, 同时因为签名中很多没有意义的词, 比如下图的'的 < =""> ! '等特殊字符等等 , 我加载了一份我自己做的停用词, 做了简单的过滤, 踢出这些词语 (当然如果仍有一些没踢出的话, 停用词词典可以自己进行扩充)
部分停用词截图
获取词语列表后, 利用 python 标准库中的 counter 方法进行列表中词汇的词频统计, 得出每个词汇的词频数据, 一共 139 个词语
7, 将词语列表和词频列表传入词云方法, 并进行展示
来源: http://www.92to.com/bangong/2018/05-07/33741948.html