人生最难的事是自我认知,用Python爬取朋友圈数据,让我们重新审视自己,审视我们周围的圈子。

文:朱元禄(@数据分析-jacky)

哲学的两大问题:1、我是谁?2、我们从哪里来?

本文 jacky试图用Python,数据化、聚类化我们的人格标签,试图回答"我是谁?"这个哲学问题。

(一)确定数据源

自我认知,很难,必须它证。

物以类聚,人以群分。每个人的社交圈,家庭圈,朋友圈的属性,基本我们人格的特征属性。我们所处的阶级,在别人眼中的印象,在我们的朋友圈中都会得到印证。

朋友圈数据中最具人格属性的因素是个性签名,那么下面我们就把所有好友的个性签名作为我们的研究对象,以此出发爬取数据。

(二) 使用Python的itchat 包对好友的个性签名数据进行分析

这里我们用到Python一个比较冷门的库——itchat,它很好的兼容了wechat个人账号的API接口,让我们能更加便捷的爬取wechat数据,itchat的功能很强大,这里我们仅用它爬取wechat中我们每个好友的个性签名。

之后,我们要分析出自定义词云图中个性签名使用的高频词语是什么。

最后,生成可视化词云图,直观的给出洞察结果。

源代码如下:

# coding:utf-8

import itchat

import re

itchat.login()

friends = itchat.get_friends(update=True)[0:]

tList = []

for i in friends:

signature = i["Signature"].replace(" ", "").replace("span", "").replace("class", "").replace("emoji", "")

rep = re.compile("1f\d.+")

signature = rep.sub("", signature)

tList.append(signature)

# 拼接字符串

text = "".join(tList)

# jieba分词

import jieba

wordlist_jieba = jieba.cut(text, cut_all=True)

wl_space_split = " ".join(wordlist_jieba)

# wordcloud词云

import matplotlib.pyplot as plt

from wordcloud import WordCloud, ImageColorGenerator

import os import numpy as np

import PIL.Image as Image

d= os.path.dirname(os.path.abspath( __file__ ))

alice_coloring = np.array(Image.open(os.path.join(d, "wechat.jpg")))

my_wordcloud = WordCloud(background_color="white", max_words=2000,mask=alice_coloring,max_font_size=400, random_state=420,font_path='/Users/sebastian/Library/Fonts/Arial Unicode.ttf').generate(wl_space_split)

image_colors = ImageColorGenerator(alice_coloring)

plt.imshow(my_wordcloud.recolor(color_func=image_colors))

plt.imshow(my_wordcloud)

plt.axis("off")

plt.show()

下面对于代码的解析,仅跟初学 Python的朋友提示三点:

1)代码第24行,其他网络版本的代码为d= os.path.dirname(__file__),最好换成jacky这个版本的:

d=os.path.dirname(os.path.abspath(__file__)),具体原因jacky就不做过多解释了;

2)代码第25行,一定要提前在环境路径下创建wechat.jpg的图片,这样云图才能顺利生成,并生成你希望的形状。

3)提前在终端安装jieba,matplotlib,wordcloud,numpy包

注意以上三点,想不运行成功都难。

运行上面的代码,得到下面的云图:

(三)数据洞察

以jacky的朋友圈为例,在云图中,我们可以看见,高频词有:自己,创始人,电商,成功,努力,营销,互联网,数据,梦想,生活,咨询,我们,未来。

其实,这些词jacky还可以继续用机器学习算法搞一下,但到这就浅尝则止吧。

从这些具体的信息中,可以抽象出我的个人人格标签,具体解析:

自己,我们:说明我很自我,很自大,很自以为是;

努力,未来,梦想:说明我想通过努力来实现自己的价值;

创始人:说明我的社交圈还OK;

互联网,数据:说明我的能力属性;

营销,咨询:说明了我赖以生存的饭碗;

代理:这... ... 不好说了... ...

End

转载请注明出处

python爬去朋友圈_利用Python爬取朋友圈数据,爬到你开始怀疑人生相关推荐

  1. python爬去百度文库_利用Python语言轻松爬取数据[精品文档]

    利用 Python 语言轻松爬取数据 对于小白来说,爬虫可能是一件非常复杂. 技术门槛很高的事情. 比如有人认为学爬虫必须精通 Python ,然后哼哧哼哧系统学习 Python 的每个知识点,很久之 ...

  2. python爬去朋友圈_利用Python爬取朋友圈数据

    确定数据源 自我认知,很难,必须它证. 物以类聚,人以群分.每个人的社交圈,家庭圈,朋友圈的属性,基本我们人格的特征属性.我们所处的阶级,在别人眼中的印象,在我们的朋友圈中都会得到印证. 朋友圈数据中 ...

  3. python爬虫去哪儿网_用python爬虫爬取去哪儿4500个热门景点,看看国庆不能去哪儿...

    引用 那么问题来了,去哪儿玩呢?百度输了个"国庆",出来的第一条居然是"去哪里旅游人少"--emmmmmmm,因缺思厅. 于是我萌生了通过旅游网站的景点销量来判 ...

  4. python 翻译库本地库_利用python爬取并翻译GEO数据库

    原标题:利用python爬取并翻译GEO数据库 GEO数据库是NCBI创建并维护的基因表达数据库,始于2000年,收录了世界各国研究机构提交的高通量基因表达数据,现芯片集数据量高达12万以上.想要从这 ...

  5. python画一颗心_利用python画一颗心的方法示例

    前言 Python一般使用Matplotlib制作统计图形,用它自己的说法是'让简单的事情简单,让复杂的事情变得可能'.用它可以制作折线图,直方图,条形图,散点图,饼图,谱图等等你能想到的和想不到的统 ...

  6. python连接linux堡垒机_利用Python Paramiko开发linux堡垒机

    1.Paramiko模块下的demo.py程序 前面利用Python中的Paramiko模块可以进行SSH的连接,以及用来传送文件(SFTP),但是无论是哪一种方式,连接都是短暂的,并非是长连的,即一 ...

  7. python画圣诞老人简笔画_利用Python绘制有趣的万圣节南瓜怪效果

    关于万圣节 万圣节又叫诸圣节,在每年的11月1日,是西方的传统节日;而万圣节前夜的10月31日是这个节日最热闹的时刻.在中文里,常常把万圣节前夜(Halloween)讹译为万圣节(All Saints ...

  8. python批量录入学生信息_利用Python实现学生信息管理系统的完整实例

    项目要求: 读完题目,首先我们要确定程序思路 我们要全部通过类去实现 也就是 我们要实现管理员.学生.讲师.课程.教师五个类 管理员类 class Administration(object): de ...

  9. python怎么去掉视频字幕_利用Python实现字幕挂载(把字幕文件与视频合并)思路详解...

    其实超简单超简单!python好现成的库,一下子省略了好多步骤! 本文在Windows环境下!linux只是不需要手动输入imagicmagick的位置! 需要用到的环境 python(基本上只要不是 ...

最新文章

  1. linux虚拟单用户数,Linux单用户模式
  2. Java动态代理与Cglib代理
  3. python pandas读取excel-python pandas模块简单使用(读取excel为例)
  4. Oracle_杂货箱_不定期更新
  5. Algorithm:C++语言实现之字符串相关算法(字符串的循环左移、字符串的全排列、带有同个字符的全排列、串匹配问题的BF算法和KMP算法)
  6. html区分大小写字母吗,javascript变量区分大小写吗?
  7. 数据库学mysql python_mysql学习(4)python操作数据库
  8. .Net 读取xml
  9. [转]怎么查看端口占用情况?
  10. slqmf刀模工具_slq刀模绘图插件下载|
  11. python魔兽挂机_魔兽怀旧服玩家有多难?为了不用重新排队,自制绝不封号的外挂!...
  12. 超小白教程之快速排序
  13. ASP.NET ZERO 学习 —— (1) 介绍
  14. Cocos2d-x教程(33)-三维物体AABB碰撞检测算法
  15. persistent
  16. 工业机器人导轨 百度文库_工业机器人复习资料
  17. HTML5Point 如何去版权图片?
  18. 数据库设计遵循三大范式
  19. ES7、ES8、ES9、ES10、ES11 新特性 总结
  20. 【Android 教程系列第 21 篇】如何查看安卓手机上支持哪些硬件和软件

热门文章

  1. Codeforces Round #697 (Div. 3)A~G解题报告
  2. 百度AI技术盛宴来了!大咖齐聚解读CV/NLP/跨模态大模型技术!
  3. 直击行业痛点!端侧模型部署的成熟解决方案有了!
  4. 再介绍一篇Contrastive Self-supervised Learning综述论文
  5. 推荐一个快速定位深度学习代码bug的炼丹神器!
  6. 论文浅尝 | 基于知识图谱嵌入的 Bootstrapping 实体对齐方法
  7. spring boot 三种入参
  8. Restful Service 中 DateTime 在 url 中传递
  9. CVTE前端笔试编程题
  10. 计算机软考笔记之《数据库基础》