一、工具:使用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. 工作之中总有几日不在状态_你是怎样度过的?
  2. 智能车竞赛相关资料获取
  3. java构造器详解_Java中关于构造器的使用详解
  4. 华硕微型计算机配置数据,“智能”显卡 华硕ROG Matrix显卡赏析
  5. 测试MySQL性能的几款工具
  6. oracle lead_lag wm_concat,oracle函数 lag()和lead()
  7. 微信支付需要证书认证时报“出现了内部错误”
  8. python播放WAVE文件
  9. 六级病历对门诊电子病历系统功能要求的初步梳理
  10. Tomcat启动startup.bat一闪而过就消失的原因和解决方法
  11. 【YOLOX 论文+源码解读】YOLOX: Exceeding YOLO Series in 2021
  12. 智力题——1红蓝墨水
  13. 量化投资发展史上的那些“决定性瞬间”
  14. CMS、G1垃圾收集器详解
  15. 从GIS地图到前端页面展示-简述(QGIS+GeoServer+Tomcat+OpenLayers)
  16. [分享]iOS开发 - 网络总结
  17. 爱客CRM:让你的销售团队爱上CRM
  18. Torque 3.0使用指南
  19. tlias 教学过程_全方位提升授课质量,传智专修学院让学生实现快速成长
  20. 智能微电网粒子群优化算法,可解决微电网经济性运行出力问题

热门文章

  1. cesium地图添加坐标点
  2. 模具怎么报价?快速报价的计算方法
  3. linux-应用-压缩与解压小结
  4. 关于软件定时器的一些讨论
  5. ns-3 教程 —— 资源
  6. 搭建自己的在线IDE
  7. 小程序登录问题--登录函数getUserInfo()写在app.js中,首次加载无法获取后台处理过的用户的信息,刷新一次后就可以获取的解决
  8. vue2.0分页插件官方_Vue 2的最佳和完整分页插件
  9. GBase 8c 全文检索-表检索
  10. 互联网快讯:龙佰集团冲刺港交所;极米Z6X Pro、极米H3S持续热销;京东物流调集3246人增援上海