用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我

用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我


今天,我發現班級群裡的女同學幾乎都用自己的照片做頭像,面對著一張張曾經熟悉又好幾個月沒有見的面孔,我突然萌生出了一個想法:用python給她們的顏值排個序,說幹就幹!


先把頭像下載下來


1.獲取頭像接口

首先我不打算用itchat或wxpy等接口模塊,因為這些接口貌似無法通過以群為組別來返回數據,我準備從網頁版入手。

經過反覆調試,我發現了規律,當在聊天列表中首次點進某個群時,服務器端會返回該群內的用戶信息:

用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我


隨便點進1個群,該群總共有129個用戶,大家可以看到,該過程中有3次post請求,前兩次分別返回50條信息,第三條返回20條信息,也就是說,每次最多返回50條信息,這些信息中包含用戶的個人暱稱、群暱稱、頭像url、性別、地區等信息:

用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我


再來看看它post請求的具體信息:


用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我


最主要的的內容是請求主體,它包含了我們要獲得信息用戶的某些特徵參數所以我只需在網頁端找到這個請求主體,然後再複製到python裡模擬請求就ok了,這也避免了分析參數的問題:


用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我


這樣就獲取好友列表信息了,最後for循環獲得頭像url!

2.保存群用戶頭像信息

起初我以為和上一步用同一個session會話就可以把圖片保存下來,但是保存內容為空,然後我還是循規守矩,參考第一步方式開始爬取頭像信息,並以群暱稱命名:

用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我

運行程序就可以把群內用戶的頭像全保存下來了

用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我

(貼出1小部分圖片供大家欣賞哈)



用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我


記住API Key和Secret Key,下面調用接口要用到。

2.遍歷文件夾內的圖片信息

用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我

我們在img文件夾下,遍歷所有頭像(ImgFile為每張頭像的路徑)

3.用python調用接口進行人臉識別

先構建get_access_token函數:

用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我


這裡用到了上述的API Key和Secret Key參數值,並返回access_token值。

最後,對每個頭像進行識別,結果中會包含年齡、性別、臉型、笑容等信息,這裡我們只取性別、年齡、顏值等3類信息:

用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我


在最後我根據識別的結果進行相應過濾,只保存識別結果為female的的圖像,非女生頭像的都給捨棄掉了,最後把結果保存到表格中就ok。

一切就緒之後,我迫不及待的把結果發到了群裡,以為會有人誇我聰明能幹:

用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我


然後,排名最後的大姐給我發了下面一句話:

用python給女同學的顏值進行排名,排最後的大姐說開學要打爆我


怎麼辦啊,心好慌,不敢去上學了


文中所使用的代碼已上傳,獲取請在公號“python的爬蟲與數據分析之路”裡回覆關鍵字:顏值



精彩回顧:

用python製作全國身份證號驗證及查詢系統

用python對全國火車站數量進行分析,發現東北三省竟然佔了2成

北京的房價到底有多貴?我爬取了3萬多條數據得出分析結果

海外疫情發展態勢怎麼樣?python動態視頻20秒告訴你

基金抄底成功的概率有多大?python帶你來分析


分享到:


相關文章: