中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
當(dāng) python 遇到你的微信的時(shí)候,你才發(fā)現(xiàn)原來你的微信好友是這樣的

今天

小帥b來跟你玩玩

爬取微信好友

然后做一頓分析

其實(shí)

關(guān)于微信好友的爬取分析

挺早之前小帥b就分享過類似的了

但是那會

帥b我更多的是裝逼

有些細(xì)節(jié)沒跟你好好說說

導(dǎo)致有些 b 友有點(diǎn)懵逼

那么到現(xiàn)在

我想是個(gè)不錯(cuò)的時(shí)機(jī)了

到什么階段就干什么事情

而且

前兩篇也是寫到和微信相關(guān)的

所以索性就再寫一篇吧

這次

應(yīng)該能讓你更加容易

明白其中的道理

廢話不多說

接下來就是

學(xué)習(xí) python 的正確姿勢

我們打開微信網(wǎng)頁版本

https://wx2.qq.com

打開瀏覽器

可以看到一開始要

我們使用二維碼登錄

來看看究竟做了什么操作

打開瀏覽器的開發(fā)者模式

可以看到

一開始會得到一個(gè)二維碼的圖片

然后就開始

一頓輪詢判斷你是否掃碼登錄

我們點(diǎn)進(jìn)去看一下

這個(gè)接口的具體請求

這個(gè)鏈接主要是攜帶了二維碼的 uuid

以及一些必要的參數(shù)

https://login.wx.qq.com/cgi-bin/mmwebwx-bin/login?loginicon=true&uuid=Yc5DKYxsrA==&tip=0&r=-215826228&_=1559288877820

當(dāng)我們沒有掃碼登錄的時(shí)候

返回的是 408

接著打開手機(jī)的微信

掃碼之后就返回 201 了

接著在手機(jī)點(diǎn)一下登錄就可以進(jìn)去了

可以看到 getContact 這個(gè)接口

一看名稱就知道是獲取聯(lián)系人的

看下返回的數(shù)據(jù)

是一個(gè) Json

聯(lián)系人被封裝到這個(gè) MemberList 數(shù)組里面了

再來

發(fā)個(gè)消息看看

數(shù)據(jù)的同步

至此

我們已經(jīng)摸清了

微信網(wǎng)頁版的具體流程了

具體是這樣的

第一步

打開微信網(wǎng)頁版首頁

然后分配一個(gè)隨機(jī)的 UUID

第二步

根據(jù) UUID 獲取二維碼的圖片

第三步

手機(jī)微信掃碼這個(gè)二維碼

然后確認(rèn)登錄

第四步

瀏覽器一直不停的調(diào)用同一個(gè)接口

看看是否登錄

登陸的話就開始調(diào)用登錄接口

第五步

獲取到所有聯(lián)系人的信息

第六步

可以開始向聯(lián)系人發(fā)送消息

然后就不斷的調(diào)用同步接口

用來獲取最新的消息

知道了這些之后

我們就可以使用 python 來操作微信了

不過

你不知道這些也沒關(guān)系

因?yàn)?itchat 模塊早已封裝了一切

我們可以使用 itchat 來進(jìn)行模擬登錄

然后獲取到自己的好友信息

調(diào)用 itchat 的 get_friends 就會得到

好友的列表信息

具體到每個(gè) friend 是這樣的

可以看到

每個(gè) item 里面都有好友的具體信息

包括昵稱,頭像,性別,地址等等

其中的 sex 字段

1 表示男的

2 表示女的

0 表示未知

來分析一波吧

將獲得的 friends 這個(gè)列表中

把 sex 這個(gè)字段的數(shù)據(jù)拿出來

map(lambda x: x['Sex'], friends[1:])

然后我們再將它轉(zhuǎn)化為 list

sexs = list(map(lambda x: x['Sex'], friends[1:]))

有了 sexs 這個(gè)列表之后

我們就可以通過 count 函數(shù)

來獲取每個(gè)性別的人數(shù)

從而算出比例了

比如男性所占的比例如下

('小哥哥', sexs.count(1)/sum)

接著使用 pyecharts 這個(gè)模塊的 Pie 

來畫個(gè)餅圖吧

pie = Pie()pie.add("", [('小哥哥', sexs.count(1)/sum), ('小姐姐', sexs.count(2)/sum), ('未知', sexs.count(0)/sum)])pie.set_global_opts(title_opts=opts.TitleOpts(title="帥b的朋友性別比例"))pie.render('sex.html')

運(yùn)行一波

知道真相的我

眼淚掉下來

咱也不知道

還有多少是偽裝成女的

咱也不敢問吶

再來分析個(gè)吧

看看小帥b的py們都是在哪里的

將 friends 列表里的 province 拿出來

map(lambda x: x['Province'], friends[1:])

再轉(zhuǎn)化成 list

province = list(map(lambda x: x['Province'], friends[1:]))

接著創(chuàng)建兩個(gè)列表

keys = []values = []

一個(gè)用來放省份的名稱

一個(gè)用來存放對應(yīng)身份的數(shù)量

for i in set(province): keys.append(i) values.append(province.count(i))

接著就可以通過 zip 函數(shù)

將兩個(gè)列表的數(shù)據(jù)轉(zhuǎn)化成元組序列

lists = list(zip(keys, values))

有了數(shù)據(jù)之后

就可以通過 pyecharts 的 map 來整個(gè)地圖了

m = Map()m.add("小帥b的py們", lists, "china")m.set_global_opts(title_opts=opts.TitleOpts(title="小帥b的py們都在哪里?"), visualmap_opts=opts.VisualMapOpts(max_=200))m.render('location.html')

運(yùn)行一波

可以發(fā)現(xiàn)

廣東人最多

也是

畢竟小帥b就是廣東人

然而

全中國小帥b就差青海的 py 了

如果你是青海的

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
微信大揭秘——用Python玩轉(zhuǎn)微信(一)
pip 通過 requirements 文件,批量下載python包,批量離線安裝python包
Python輕松實(shí)現(xiàn)地圖可視化(附詳細(xì)源碼)
[技術(shù)征文]關(guān)于python打包成exe的一點(diǎn)經(jīng)驗(yàn)之談
python3 manage.py遷移異常
Python 獲得命令行參數(shù)的方法
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服