代理ip

>

换ip软件

>

http代理

>

ip代理

您的位置:首页 > 新闻资讯 > 文章内容
Python3爬取微信步骤(上)
来源:互联网 作者:admin 时间:2020-02-18 17:32:38

  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)+"\n"+


  "女性好友:%.2f%%"%(float(female)/total*100)+"\n"+


  "不明性别好友:%.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("1f\d+\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')


  进行到这里,我们的流程就已经完成一半了,还有两个关键步骤,我们在下一篇文章继续分析。


相关文章内容简介
推荐阅读
  • 17 2019-09
    注册可以用HTTP代理吗?

    我们在网络上经常能看到这样的广告的,代理IP极速稳定,注册抢购投票业务的来,那么到底注册可以用HTTP代理吗?这里我们就要分析一下代理IP的原理及功能了。代理IP是指代替用户的IP去进行

  • 12 2020-02
    网游加速器和换ip有什么区别

    玩家网游体验时的难题就是经常的登陆不上去,网络不稳,网络卡而且经常掉线,网络账号不通用,线路不能同时使用,账号被封等等,这些问题的存在已经成为所有网游玩家的家常便饭。而解

  • 07 2019-11
    转发代理服务器与反向代理服务器介绍

    说到代理服务器​,大部分人都应该比较熟悉了。记得在学校的时候因为校园网无法访问国外网站,因此经常使用代理来访问国外的网站。但是提到反向代理服务器可能大部分人就比较陌生,对

  • 11 2019-07
    安卓模拟器如何多开换IP防封

    安卓模拟器如何多开换IP防封?以前微商盛行,也不必担心账号被封,现在微信无人监管的红利期已经过去了,暴力抢钱时期已经过去了。如果现在还需要使用模拟器多开,是要非常注意的,因

  • 05 2019-11
    反向代理服务器的工作原理

    反向代理服务器​的工作原理是什么呢?反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Int

  • 12 2019-07
    为什么爬虫要使用动态IP代理来爬取网站

    为什么爬虫要使用动态IP代理来爬取网站?大家写爬虫程序的时候,当抓取频率较快或者抓取一些robots.txt禁爬路径,肯定会碰到被网站屏蔽的情况,这时候目标服务器要么直接返回404,要么就是