python 爬取微信朋友圈的一些信息
一、工具:使用python 3.6 自带的编辑器IDEL,在命令行可以正常运行。
二、此程序用到的一些库和包:
(1)itchat:itchat是一个开源的微信个人号接口,可以登录微信账号;点击打开链接(此链接为关于itchat用法的文档)
(2)jieba分词使用手册
(3)pyecharts 包基本用法点击打开链接
(4)numpy:numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速、节省空间。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
代码如下:
# 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 爬取微信朋友圈的一些信息相关推荐
- Python爬取微信朋友圈 ! 让屏蔽你的女神无处可躲 ?
接下来,我们将实现微信朋友圈的爬取. 如果直接用 Charles 或 mitmproxy 来监听微信朋友圈的接口数据,这是无法实现爬取的,因为数据都是被加密的.而 Appium 不同,Appium 作 ...
- Python爬虫爬取微信朋友圈
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/ ...
- python抓取朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)...
原标题:如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下) 前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往 ...
- Python爬虫爬取微信朋友圈的方法,感兴趣的朋友可以了解下
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 小雨 | 作者 python教程 | 来源 接下来,我们将实现微信朋友圈的 ...
- Python爬虫实战项目案例——爬取微信朋友圈
项目实战 Appium爬取微信朋友圈 自动化爬取App数据 基于移动端的自动化测试工具Appium的自动化爬取程序. 步骤 1.JDK - Download JDK,Appium要求用户必须配 ...
- python抓取微信朋友圈动态_2018最全如何利用Python网络爬虫抓取微信朋友圈的动态...
今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...
- 如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)
前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...
- python朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)
前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...
- appium爬取微信朋友圈 安卓模拟器版
环境: 安卓7,夜神模拟器,微信7.0.7 代码: import os import time from appium import webdriver from appium.webdriver.c ...
最新文章
- 对Linux内核中进程上下文和中断上下文的理解
- Jquery 单击_双击_鼠标经过_鼠标离开_背景样式变化
- Sublime Text3怎样在Deepin中配置CTags插件
- 你需要知道的基础算法知识——STL和基础数据结构(八)
- linux 添加路由_在 Linux 上使用开源软件创建 SDN | Linux 中国
- 每天一道剑指offer-顺时针打印矩阵
- setsockopt中参数之SO_REUSEADDR的意义
- 惊恐!电脑竟然会使用计谋了!——第二局感悟
- 关于报表在移动端展现你需要知道哪些?
- /deep/的使用与导致样式失效问题处理
- TSN之linuxptp交叉编译
- 通过PyQt5+PyQtWebEngine+pyecharts建立自己的收入支出记账软件
- 蚂蚁借“链”上位,BAT谁将成数字经济领跑者?
- 50例大数据术语英文翻译及详解
- 检测浏览器flash是否安装
- 荷兰国旗、quillksort
- 声学漫谈:音腔是怎么影响声音效果的
- JS数组正数转为负数
- NSDI11-Spectroscope-Diagnosing performance changes by comparing request flows
- 解决华为M2 平板前置摄像头录制视频黑屏