前言
一見鍾情鐘的不是情,是臉
日久生情生的不是臉,是情
專案簡介
本專案利用Python爬蟲和百度人臉識別API,針對簡書交友專欄,爬取使用者照片(侵刪),並進行打分。 本專案包括以下內容:
圖片爬蟲人臉識別API使用顏值打分並進行檔案歸類圖片爬蟲
現在各大交友網站都會有一些使用者會爆照,本文爬取簡書交友專欄的所有帖子,並進入詳細頁,獲取所有圖片並下載到本地。
程式碼
人臉識別API使用
由於爬取了帖子下面的所有圖片,裡面有各種圖片(不包括人臉),而且是為了找到高顏值小姐姐,如果人工篩選費事費力,這裡呼叫百度的人臉識別API,進行圖片過濾和顏值打分。
人臉識別應用申請
API呼叫
這裡使用楊超越的圖片先試下水。通過結果,可以看到75分,還算比較高了(自己用了一些網紅和明星測試了下,分數平均在80左右,最高也沒有90以上的)。
顏值打分並進行檔案歸類
最後結合圖片資料和顏值打分,設計程式碼,過濾掉非人物以及男性圖片,獲取小姐姐圖片的分數(這裡處理為1-10分),並分別存在不同的資料夾中。
from aip import AipFaceimport base64import osimport timeAPP_ID = ''API_KEY = ''SECRET_KEY = '' aipFace = AipFace(APP_ID, API_KEY, SECRET_KEY)def get_file_content(filePath): with open(filePath, 'rb') as fp: content = base64.b64encode(fp.read()) return content.decode('utf-8') imageType = "BASE64" options = {}options["face_field"] = "age,gender,beauty"file_path = 'row_img'file_lists = os.listdir(file_path)for file_list in file_lists: result = aipFace.detect(get_file_content(os.path.join(file_path,file_list)),imageType,options) error_code = result['error_code'] if error_code == 222202: continue try: sex_type = result['result']['face_list'][-1]['gender']['type'] if sex_type == 'male': continue # print(result) beauty = result['result']['face_list'][-1]['beauty'] new_beauty = round(beauty/10,1) print(file_list,new_beauty) if new_beauty >= 8: os.rename(os.path.join(file_path,file_list),os.path.join('8分',str(new_beauty) + '+' + file_list)) elif new_beauty >= 7: os.rename(os.path.join(file_path,file_list),os.path.join('7分',str(new_beauty) + '+' + file_list)) elif new_beauty >= 6: os.rename(os.path.join(file_path,file_list),os.path.join('6分',str(new_beauty) + '+' + file_list)) elif new_beauty >= 5: os.rename(os.path.join(file_path,file_list),os.path.join('5分',str(new_beauty) + '+' + file_list)) else: os.rename(os.path.join(file_path,file_list),os.path.join('其他分',str(new_beauty) + '+' + file_list)) time.sleep(1) except KeyError: pass except TypeError: pass
最後結果8分以上的小姐姐很少,如圖(侵刪)。
簡書交友小姐姐數量較少,讀者可以去試試微博網紅或知乎美女。雖然這是一個看臉的時代,但喜歡一個人,始於顏值,陷於才華,忠於人品(最後正能量一波,免得被封)。
最新評論