一、工具:使用python 3.6 自带的编辑器IDEL,在命令行可以正常运行。
二、此程序用到的一些库和包:
(1)itchat:itchat是一个开源的微信个人号接口,可以登录微信账号;点击打开链接(此链接为关于itchat用法的文档)
(2)jieba分词使用手册
(3)pyecharts 包基本用法点击打开链接
(4)numpy:numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速、节省空间。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

(5)pandas用法 点击打开链接
三、此程序实现的功能:
(1)爬取朋友圈的男女比例
(2)圈内朋友所在省份
(3)朋友圈的个性签名

代码如下:

# coding:utf-8
import itchat
import re
itchat.login()
friends = itchat.get_friends(update=True)[0:]  #爬取好友的相关信息,返回一个friends文件#自己微信好友的男女比例
male=female=other=0
#friend[0]是自己的信息,从friend[1]开始
for i in friends[1:]:sex=i['Sex']if sex==1:male+=1elif sex==2:female+=1else:other+=1#计算朋友总数
total=len(friends[1:])
print('male: %d' % int(male))
print('female: %d' % int(female))
print('other: %d' % int(other))
print('male:  %.2f%%' % (float(male)/total*100))
print('female: %.2f%%' % (float(female)/total*100))
print('other: %.2f%%' % (float(other)/total*100))#绘制性别饼图
from pyecharts import Pie
attr=['male','female','other']
vl=[123,125,23]
pie=Pie("性别比例")
pie.add('',attr,vl,is_label_show=True)
pie.render(r"D:\WorkSpace\Python3.6.0\Sex.html") #默认将会在根目录下生成一个 render.html 的文件,支持 path 参数,设置文件保存位置,如 render(r"e:\my_first_chart.html"),文件用浏览器打开。#定义一个函数把好友昵称、省份、城市、性别、签名等数据都爬下来,存到数据框
#首先定义一个函数,用来爬取各个变量
def get_var(var):variable=[]for i in friends:value=i[var]variable.append(value)return variable#调用函数得到各个变量,存在csv文件中
NickName=get_var('NickName')
Sex=get_var('Sex')
Province=get_var('Province')
City=get_var('City')
Signature=get_var('Signature')from pandas import DataFrame
data={'NickName':NickName,'Sex':Sex,'Province':Province,'City':City,'Signature':Signature}
frame=DataFrame(data)
frame.to_csv('data2.csv',index=True)import csv
with open('data2.csv','r',encoding = "utf-8") as myFile:reader=csv.reader(myFile)for row in reader:print(row)from pyecharts import Bar
Provinces=[]
for f in friends:Province=f.ProvinceProvinces.append(Province)a={}
for i in Provinces:a[i]=Provinces.count(i)b=sorted(a.items(),key=lambda item:item[1])attrs=[]
values=[]
j=0
while j<len(b):attr=b[j][0]value=b[j][1]attrs.append(attr)values.append(value)j+=1#开始绘图bar=Bar('好友所在省份')
bar.add('省份',attrs,values, is_stack=True,is_datazoom_show=True)
bar.render()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='D:\WorkSpace\Python3.6.0\simkai.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. Python爬取微信朋友圈 ! 让屏蔽你的女神无处可躲 ?

    接下来,我们将实现微信朋友圈的爬取. 如果直接用 Charles 或 mitmproxy 来监听微信朋友圈的接口数据,这是无法实现爬取的,因为数据都是被加密的.而 Appium 不同,Appium 作 ...

  2. Python爬虫爬取微信朋友圈

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/ ...

  3. python抓取朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)...

    原标题:如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下) 前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往 ...

  4. Python爬虫爬取微信朋友圈的方法,感兴趣的朋友可以了解下

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 小雨 | 作者 python教程 | 来源 接下来,我们将实现微信朋友圈的 ...

  5. Python爬虫实战项目案例——爬取微信朋友圈

    项目实战   Appium爬取微信朋友圈   自动化爬取App数据 基于移动端的自动化测试工具Appium的自动化爬取程序. 步骤 1.JDK - Download JDK,Appium要求用户必须配 ...

  6. python抓取微信朋友圈动态_2018最全如何利用Python网络爬虫抓取微信朋友圈的动态...

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  7. 如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

    前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...

  8. python朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

    前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...

  9. appium爬取微信朋友圈 安卓模拟器版

    环境: 安卓7,夜神模拟器,微信7.0.7 代码: import os import time from appium import webdriver from appium.webdriver.c ...

最新文章

  1. 对Linux内核中进程上下文和中断上下文的理解
  2. Jquery 单击_双击_鼠标经过_鼠标离开_背景样式变化
  3. Sublime Text3怎样在Deepin中配置CTags插件
  4. 你需要知道的基础算法知识——STL和基础数据结构(八)
  5. linux 添加路由_在 Linux 上使用开源软件创建 SDN | Linux 中国
  6. 每天一道剑指offer-顺时针打印矩阵
  7. setsockopt中参数之SO_REUSEADDR的意义
  8. 惊恐!电脑竟然会使用计谋了!——第二局感悟
  9. 关于报表在移动端展现你需要知道哪些?
  10. /deep/的使用与导致样式失效问题处理
  11. TSN之linuxptp交叉编译
  12. 通过PyQt5+PyQtWebEngine+pyecharts建立自己的收入支出记账软件
  13. 蚂蚁借“链”上位,BAT谁将成数字经济领跑者?
  14. 50例大数据术语英文翻译及详解
  15. 检测浏览器flash是否安装
  16. 荷兰国旗、quillksort
  17. 声学漫谈:音腔是怎么影响声音效果的
  18. JS数组正数转为负数
  19. NSDI11-Spectroscope-Diagnosing performance changes by comparing request flows
  20. 解决华为M2 平板前置摄像头录制视频黑屏

热门文章

  1. linux meld 编译,Linux 系统上的可视化比较与合并工具 Meld
  2. 游戏设计艺术(第3版) The Art of Game Design 看评论
  3. QGIS加载谷歌地图(google map)方法
  4. 哭了,谁还会心疼?累了,谁让我依靠?
  5. [高精度]高精度的封装
  6. Javascript笔记大全01,会持续更新~
  7. upupoo php,UPUPOO动态桌面下载
  8. 清华姚班陈丹琦获斯隆奖!博士毕业论文是近十年最热之一
  9. 网络游戏——强联网游戏
  10. Shader实现高光反射