日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

我的第一个微信好友分析

發布時間:2024/9/30 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我的第一个微信好友分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、使用到的庫

① wxpy:初始化微信機器人

② openpyxl:保存微信好友數據為Excel表格

③ pyecharts:生成可視化的地圖

④ wordcloud、matplotlib、jieba:生成詞云圖

二、開始分析

1、首先登錄自己的微信

from wxpy import Bot #初始化機器人,選擇緩存模式(掃碼)登錄 bot = Bot(cache_path=True) #獲取我的所有微信好友信息 friend_all = bot.friends()

運行登錄代碼會自動彈出一個二維碼頁面,打開如下圖 1, 用手機掃碼同意后,進入微信并獲取微信好友的相關信息。

print(friend_all[0].raw)#獲取自己的全部信息 print(len(friend_all))#輸出自己的微信好友人數

為了獲取好友信息中需要的部分,我們對信息需要進行處理。從上面的獲取信息全字段來看,我們獲取的每位好友的信息都是一個字典,字典里只有’City’、‘Province’、‘Signature’、
‘NickName’、‘HeadImgUrl’、'Sex’是我們需要的。下面我們就對這幾個 key 進行提取。

lis=[] #創建一個空列表 for a_friend in friend_all:NickName = a_friend.raw.get('NickName',None)#Sex = a_friend.raw.get('Sex',None)Sex ={1:"男",2:"女",0:"其它"}.get(a_friend.raw.get('Sex',None),None)City = a_friend.raw.get('City',None)Province = a_friend.raw.get('Province',None)Signature = a_friend.raw.get('Signature',None)HeadImgUrl = a_friend.raw.get('HeadImgUrl',None)HeadImgFlag = a_friend.raw.get('HeadImgFlag',None)list_0=[NickName,Sex,City,Province,Signature,HeadImgUrl,HeadImgFlag]lis.append(list_0)

將 lis 列表能夠保存到 excel 中:

def lis2e07(filename,lis):infoTitle = ['NickName', 'Sex', 'Province', 'City']wb = openpyxl.Workbook()sheet = wb.activesheet.title = 'list2excel07'for _ in range(len(infoTitle)):sheet.cell(row=1, column=_+1, value=infoTitle[_])file_name = filename +'.xlsx'for i in range(len(lis)):for j in range(len(infoTitle)):sheet.cell(row=i+2, column=j+1, value=str(lis[i][j]))wb.save(file_name) lis2e07('C:\\Users\\DELL\\Desktop\\yubg2',lis)

運行結果:

對數據進行簡單的分析:

Friends = bot.friends() data = Friends.stats_text(total=True, sex=True,top_provinces=30, top_cities=500) print(data)

結果:

將好友所在的城市用詞云圖顯示:

import matplotlib.pyplot as plt plt.ion() df = read_excel('C:\\Users\\DELL\\Desktop\\yubg2.xlsx',sheet_name='list2excel07') word_list= df['City'].fillna('0').tolist()#將 dataframe 的列轉化為 list,其中的 nan 用“0”替換 new_text = ' '.join(word_list) wordcloud = WordCloud(font_path='simhei.ttf', background_color="black").generate(new_text) plt.imshow(wordcloud) plt.axis("off") plt.show()

結果如圖

生成微信好友在廣東省分布的城市圖:

def creatcitymap():CityList=[]CityNum = []for i in range(FriNum):if lis[i][4] not in CityList:CityList.append(lis[i][4])CityNum.append(0)for i in range(FriNum):for j in range(len(CityList)):if lis[i][4] == CityList[j]:CityNum[j] += 1for i in range(len(CityList)):CityList[i] += '市'map=Map(width=1000, height=1000)map.add("", CityList, CityNum, maptype="廣東", is_visualmap=True, visual_text_color='#000')map.render('C:\\Users\\DELL\\Desktop\\citymap.html')

結果如圖:

總結

以上是生活随笔為你收集整理的我的第一个微信好友分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。