麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

python微信好友數據分析詳解

2020-02-15 23:43:28
字體:
來源:轉載
供稿:網友

基于微信開放的個人號接口python庫itchat,實現對微信好友的獲取,并對省份、性別、微信簽名做數據分析。

效果:

直接上代碼,建三個空文本文件stopwords.txt,newdit.txt、unionWords.txt,下載字體simhei.ttf或刪除字體要求的代碼,就可以直接運行。

 #wxfriends.py 2018-07-09import itchatimport sysimport pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']#繪圖時可以顯示中文plt.rcParams['axes.unicode_minus']=False#繪圖時可以顯示中文import jiebaimport jieba.posseg as psegfrom scipy.misc import imreadfrom wordcloud import WordCloudfrom os import path#解決編碼問題non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd)  #獲取好友信息def getFriends():  friends = itchat.get_friends(update=True)[0:]  flists = []  for i in friends:    fdict={}    fdict['NickName']=i['NickName'].translate(non_bmp_map)    if i['Sex'] == 1:      fdict['Sex']='男'    elif i['Sex'] == 2:      fdict['Sex']='女'    else:      fdict['Sex']='雌雄同體'    if i['Province'] == '':      fdict['Province'] ='未知'    else:      fdict['Province']=i['Province']    fdict['City']=i['City']    fdict['Signature']=i['Signature']    flists.append(fdict)  return flists  #將好友信息保存成CSVdef saveCSV(lists):  df = pd.DataFrame(lists)  try:    df.to_csv("wxfriends.csv",index = True,encoding='gb18030')  except Exception as ret:    print(ret)  return df  #統計性別、省份字段  def anysys(df):  df_sex = pd.DataFrame(df['Sex'].value_counts())  df_province = pd.DataFrame(df['Province'].value_counts()[:15])  df_signature = pd.DataFrame(df['Signature'])  return df_sex,df_province,df_signature  #繪制柱狀圖,并保存  def draw_chart(df_list,x_feature):  try:    x = list(df_list.index)    ylist = df_list.values    y = []    for i in ylist :      for j in i:        y.append(j)    plt.bar(x,y,label=x_feature)    plt.legend()    plt.savefig(x_feature)    plt.close()  except:    print("繪圖失敗")  #解析取個性簽名構成列表   def getSignList(signature):  sig_list = []  for i in signature.values:    for j in i:      sig_list.append(j.translate(non_bmp_map))  return sig_list  #分詞處理,并根據需要填寫停用詞、自定義詞、合并詞替換def segmentWords(txtlist):  stop_words = set(line.strip() for line in open('stopwords.txt', encoding='utf-8'))  newslist = []  #新增自定義詞  jieba.load_userdict("newdit.txt")  for subject in txtlist:    if subject.isspace():      continue    word_list = pseg.cut(subject)        for word, flag in word_list:      if not word in stop_words and flag == 'n' or flag == 'eng' and word !='span' and word !='class':        newslist.append(word)   #合并指定的相似詞  for line in open('unionWords.txt', encoding='utf-8'):    newline = line.encode('utf-8').decode('utf-8-sig')  #解決/ufeff問題    unionlist = newline.split("*")    for j in range(1,len(unionlist)):      #wordDict[unionlist[0]] += wordDict.pop(unionlist[j],0)      for index,value in enumerate(newslist):        if value == unionlist[j]:          newslist[index] = unionlist[0]   return newslist  #高頻詞統計def countWords(newslist):  wordDict = {}  for item in newslist:    wordDict[item] = wordDict.get(item,0) + 1  itemList = list(wordDict.items())  itemList.sort(key=lambda x:x[1],reverse=True)      for i in range(100):    word, count = itemList[i]    print("{}:{}".format(word,count))  #繪制詞云def drawPlant(newslist):  d = path.dirname(__file__)  mask_image = imread(path.join(d, "timg.png"))  content = ' '.join(newslist)  wordcloud = WordCloud(font_path='simhei.ttf', background_color="white",width=1300,height=620, max_words=200).generate(content)  #mask=mask_image,  # Display the generated image:  plt.imshow(wordcloud)  plt.axis("off")  wordcloud.to_file('wordcloud.jpg')  plt.show()  def main():  #登陸微信  itchat.auto_login()  # 登陸后不需要掃碼  hotReload=True  flists = getFriends()  fdf = saveCSV(flists)  df_sex,df_province,df_signature = anysys(fdf)  draw_chart(df_sex,"性別")  draw_chart(df_province,"省份")  wordList = segmentWords(getSignList(df_signature))  countWords(wordList)  drawPlant(wordList)  main()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久国久产久精永久网页 | 男女污污视频网站 | av电影网站在线 | 成人毛片网站 | 日美av在线| 91精品国产综合久久婷婷香 | 国产精品视频一区二区三区综合 | japan护士性xxxⅹhd | 久久久一区二区 | 久久久三区 | 久久久毛片视频 | 3级毛片| 久久在草 | 国产大片全部免费看 | www.99久久久 | xnxx 日本免费 | 羞羞的视频 | 国产一级一级片 | 欧美一级片免费在线观看 | 欧美亚洲黄色片 | 欧美性受xxxxxx黑人xyx性爽 | 欧美黑人xx | 日本一区二区高清不卡 | 久久99国产精品视频 | 黄色大片在线观看 | 欧美三日本三级少妇三级99观看视频 | 久久精品亚洲一区二区三区观看模式 | 国产乱淫av一区二区三区 | 久久国产精品电影 | 水卜樱一区二区av | 亚洲一区免费观看 | 国产一区二区三区在线观看视频 | 久久网国产 | 国产宾馆3p国语对白 | 黄色一级片在线免费观看 | 性欧美xxxx免费岛国不卡电影 | 天天鲁在线视频免费观看 | 日本特级a一片免费观看 | 欧美三日本三级少妇三级99观看视频 | 国产大片中文字幕在线观看 | 精品在线免费播放 |