您好,登錄后才能下訂單哦!
如何用Python爬取高顏值美女,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
1 數據源
知乎話題『美女』下所有問題中回答所出現的圖片
2 抓取工具
Python 3,并使用第三方庫 Requests、lxml、AipFace,代碼共 100 + 行
3 必要環境
Mac / Linux / Windows (Linux 沒測過,理論上可以。Windows 之前較多反應出現異常,后查是 windows 對本地文件名中的字符做了限制,已使用正則過濾)
無需登錄知乎(即無需提供知乎帳號密碼)
人臉檢測服務需要一個百度云帳號(即百度網盤 / 貼吧帳號)
4 人臉檢測庫
AipFace,由百度云 AI 開放平臺提供,是一個可以進行人臉檢測的 Python SDK。可以直接通過 HTTP 訪問,免費使用。
5 檢測過濾條件
過濾所有未出現人臉圖片(比如風景圖、未露臉身材照等)
過濾所有非女性(在抓取中,發現知乎男性圖片基本是明星,故不考慮;存在 AipFace 性別識別不準的情況)
過濾所有非真實人物,比如動漫人物 (AipFace Human 置信度小于 0.6)
過濾所有顏值評分較低圖片(AipFace beauty 屬性小于 45,為了節省存儲空間;再次聲明,AipFace 評分無任何客觀性)
6 實現邏輯
通過 Requests 發起 HTTP 請求,獲取『美女』下的部分討論列表
通過 lxml 解析抓取到的每個討論中 HTML,獲取其中所有的 img 標簽相應的 src 屬性
通過 Requests 發起 HTTP 請求,下載 src 屬性指向圖片(不考慮動圖)
通過 AipFace 請求對圖片進行人臉檢測
判斷是否檢測到人臉,并使用 『4 檢測過濾條件』過濾
將過濾后的圖片持久化到本地文件系統,文件名為 顏值 + 作者 + 問題名 + 序號
返回第一步,繼續
7 抓取結果
直接存放在文件夾中(angelababy 實力出境)。另外說句,目前抓下來的圖片,除 baby 外,88 分是最高分。個人對其中的排序表示反對,老婆竟然不是最高分
代碼
9 運行準備
安裝 Python 3,Download Python
安裝 requests、lxml、baidu-aip 庫,都可以通過 pip 安裝,一行命令
申請百度云檢測服務,免費。人臉識別-百度AI
看完上述內容,你們掌握如何用Python爬取高顏值美女的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。