Python3爬虫代码怎么抓取微信好友基本信息,并且进行数据清洗? 我们一起看看具体的操作Python3爬虫代码要怎么实现。
1、登录获取好友基础信息:
好友的获取方法为get_friends,将会返回完整的好友列表。
其中每个好友为一个字典
列表的第一项为本人的账号信息
传入update键为True将可以更新好友列表并返回
微信:
Date:20180918
Author:lizm
Description:爬取微信好友、公众号、群聊基本信息,并进行数据清洗
import itchat
from pandas import DataFrame
import pandas as pd
import re
#1、登录(每次登录都要扫二维码)
itchat.login()
#登录(只需要扫码一次,第二次运行手机微信会弹出确认框)
#itchat.auto_login(hotReload=True)
#爬取自己好友相关信息, 返回一个json文件
friends = itchat.get_friends(update=True)[0:]
#print(friends)
2、统计性别并图形展示(pyecharts)
#2、统计性别
#初始化计数器
male = female = other = 0
#friends[0]是自己的信息,所以要从friends[1]开始
for i in friends[1:]:
sex = i["Sex"]
if sex == 1:
male += 1
elif sex == 2:
female += 1
else:
other +=1
#计算朋友总数
total = len(friends[1:])
#打印出自己的好友性别比例
print("男性好友: %.2f%%" % (float(male)/total*100) + " " +
"女性好友: %.2f%%" % (float(female) / total * 100) + " " +
"不明性别好友: %.2f%%" % (float(other) / total * 100))
#pyecharts图形
from pyecharts import Bar
bar =Bar("性别比例图", "微信好友")
bar.add("性别", ["男", "女", "未知"], [male, female, other])
bar.show_config()
bar.render()
3、将基本信息保存到csv
#3、将基本信息保存到csv
def filter_emoji(desstr,restr=''):
#过滤表情
try:
co = re.compile(u'[U00010000-U0010ffff]')
except re.error:
co = re.compile(u'[uD800-uDBFF][uDC00-uDFFF]')
return co.sub(restr, desstr)
#定义一个函数,用来爬取各个变量
import emoji
def get_var(var):
variable = []
for friend in friends:
value = friend[var]
if isinstance(value,str):
value = value.strip()
#value = emoji.demojize(value)
value = filter_emoji(value,'')
rep = re.compile("1fd+w*|[<>/=]")
value = rep.sub("", value)
rep1 = re.compile("[s+.!/_,$%^*(+"']+|[+——!,。?、~@#¥%……&*()]+")
value = rep1.sub('',value)
print("爬取数据[%s]>>>>:%s" %(var,value))
else:
pass
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')
data = {'NickName': NickName, 'Sex': Sex, 'Province': Province,
'City&': City, 'Signature': Signature}
frame = DataFrame(data)
#windows下运行,需要转码,系统默认是gbk,需要手动设置;注意:utf-8还是乱码,得设置为utf-8-sig
frame.to_csv('data.csv', index=True,encoding='utf_8_sig')
这只是一部分代码,还有一部分代码请查看下一篇文章,主要代码比较多放不下。
相关文章
- 利用爬虫代理进行数据爬取(详解爬虫代理的运用技巧)
- 爬虫代理的实现方式和防封策略
- 为什么使用代理爬虫还是失败?
- 爬虫怎么设置代理服务器
- 分布式爬虫如何使用代理ip
- 爬虫使用IP代理还是会封IP吗
- 爬虫代理服务器怎么用
- python爬虫如何代理服务器
- 盘点长效IP与短效IP之间的区别和应用
- 盘点爬虫IP代理使用的常见问题及解决思路
- ADSL和代理IP有什么区别?
- 浅析爬虫代理报错的原因
- 爬虫离开代理IP后还能否顺畅工作
- 网站如何判断有爬虫在采集数据
- 爬虫HTTP代理可以收集哪些数据?
- 盘点爬虫语言为何选择Python而不是Java
- 正确认识网络抓取与网络爬取的区别
- 建立自己的代理IP池的好处?-神龙HTTP
- 如何看待免费代理IP的安全性-神龙HTTP
- IP切换工具的应用方法-神龙HTTP
- 盘点导致使用代理IP后网速变慢的几种原因-神龙HTTP
- 代理IP如何实现邮件保护?-神龙HTTP
- http代理服务器如何帮助维护在线隐私-神龙HTTP
- 代理服务器和负载均衡器有什么区别?-神龙HTTP
- 相比动态代理IP,静态代理IP更适用哪些场景?-神龙HTTP
- 免费代理ip适用的范围-神龙HTTP
- 免费代理ip和收费代理ip的区别-神龙HTTP
- 如何判断代理服务器ip质量?-神龙HTTP
- 为什么说代理IP池越大越好?-神龙HTTP
- 代理IP为什么要使用高匿代理IP呢?-神龙HTTP
- 付费SOCKS5代理的四个优点-神龙HTTP
- 使用SOCKS5代理的五个好处-神龙HTTP
- 使用高匿名IP一定不会被限制吗?-神龙HTTP
- IP代理池具备的特征-神龙HTTP
- HTTPS代理的优点-神龙HTTP
- IP被封时就用代理ip-神龙HTTP
- 使用ip代理时的常见误解-神龙HTTP
- 更换ip地址时该换成静态还是动态呢-神龙HTTP
- 使用代理ip会改变网速吗-神龙HTTP
- SOCKS和HTTP代理有什么区别?-神龙HTTP
- Socks5代理如何解决在线问题?-神龙HTTP
- http代理工作方式介绍-神龙HTTP
- 住宅代理服务器的用途及优势分析-神龙HTTP
- 为什么在抓取网页时需要使用http代理呢?-神龙HTTP
- 稳定的代理IP具备的因素-神龙HTTP
- python爬虫怎么使用代理IP-神龙HTTP
- IP代理具有哪些类型原理-神龙HTTP
- 代理IP能否提高爬虫效率?-神龙HTTP
- 不同的代理服务器有什么区别?-神龙HTTP
- 代理一般是如何定价收费的呢?-神龙HTTP
- IP代理隧道协议分类介绍-神龙HTTP
- 认识代理服务器的请求处理规则-神龙HTTP
- 什么是动态IP代理-神龙HTTP
- 换ip有哪些模式-神龙HTTP
- 如何选择合适的http代理?-神龙HTTP
- 盘点判断使用的代理IP是否有效的几种方式?-神龙HTTP
- 为什么代理IP爬虫不会受到限制?-神龙HTTP
- 如何理解代理IP中大数据杀熟的意思
- 动态IP地址的优缺点分析
- 怎么更好的使用代理IP?-神龙HTTP
- 怎么判断SOCKS5代理IP地址是有效的?-神龙HTTP
- 代理服务器和网关服务器的对比-神龙HTTP
- 换ip软件真的能够隐藏真实ip吗?-神龙HTTP
- 使用代理ip软件要了解的优势
- 游戏ip加速器受游戏玩家们的欢迎-神龙HTTP
- 正确认识代理服务器-神龙HTTP
- 使用代理IP后常见的几大问题-神龙HTTP
- 盘点代理IP运行速度慢的原因-神龙HTTP
- 怎么测试和评定代理商IP的实际效果-神龙HTTP
- ip在线代理的优势是什么-神龙HTTP
- HTTP代理和ip代理是一个意思么-神龙HTTP
- 使用HTTP协议的代理服务器有哪些类型
- 如何为Scrapy设置代理-神龙HTTP
- 如何使用Python进行网页抓取-神龙HTTP
- 怎么维护爬虫代理IP池?-神龙HTTP
- 网络爬虫对代理IP有哪些要求-神龙HTTP
- 爬虫技术有哪些-神龙HTTP
- 爬虫可以爬哪些网站-神龙HTTP
- 为什么代理ip越来越普遍-神龙HTTP
- 使用HTTP代理IP过程中的误区 -神龙HTTP
- 爬虫代理IP池的验证网址出错-神龙HTTP
- 动态IP在网络爬虫中有什么作用?-神龙HTTP
- 短效优质代理多线程获取IP方法-神龙HTTP
- 用ip代理解决网络受阻-神龙HTTP
- 代理IP连不通是一定是代理IP的问题?-神龙HTTP
- 爬虫程序使用IP代理的原理-神龙HTTP
- python爬虫爬微信好友信息代码(下)-神龙HTTP
- 网络爬虫是什么?-神龙HTTP
- 浅谈搭建和维护本地IP池-神龙HTTP
- 使用代理IP访问网站失败怎么办?-神龙HTTP
- 网络获取代理IP的方法-神龙HTTP
- HTTP代理的四大问题-神龙HTTP
- 网站为什么要反爬虫?-神龙HTTP
- Scrapy爬虫框架的五大组件-神龙HTTP
- 选择代理IP资源应该注意什么?
- 爬虫工程师要怎样练习爬虫-神龙HTTP
- 浅谈代理IP中白名单的作用-神龙HTTP
- Python爬虫又叫网络爬虫-神龙HTTP
- 分布式网络爬虫是什么?神龙HTTP
- 基于Requests库的爬虫代理配置-神龙HTTP
- Scrapy使用代理爬取网站-神龙HTTP
- 爬虫代理超时原因及排查方法-神龙HTTP
- 爬虫与User-Agent-神龙HTTP
- 住宅代理和数据中心代理的区别-神龙HTTP
- 优化爬虫程序时要注意什么?-神龙HTTP
- 使用代理IP爬虫时超时怎么办?-神龙HTTP
- 网络爬虫IP受限该怎么解决?-神龙HTTP
- 网站如何反爬虫-神龙HTTP
- 怎样使用代理IP让爬虫效率最大化-神龙HTTP
- 爬虫采集数据如何防被封IP?-神龙HTTP
- 网络爬虫一定要用ip代理吗?神龙HTTP