AotucCrawler 快速爬取圖片
今天介紹一款自動化爬取圖片項目。
GitHub: https://github.com/YoongiKim/AutoCrawler
Google, Naver multiprocess image web crawler (Selenium)
關鍵字
- 爬蟲網站:Google、Naver (美、韓兩大搜索引擎)
- 運行方式:Multiprocess(多進程)
- 爬取格式:image (圖片)
- 基於自動化工具:Selenium (不解釋)
如何使用
-
Git克隆
AutoCrawler項目到本地 -
自行安裝
Chrome瀏覽器 -
安裝依賴
> pip -r requirements.txt
certifi: 包含了很多可信任知名公司的證書/公鑰。chardet:提供自動檢測字符編碼的功能。idna: 提供"對於RFC5891中定義的IDNA協議(Internationalised Domain Names in Applications)的支持"。requests: 依賴於上面三個基礎庫,他主要用於根據圖片鏈接下載圖片。selenium: 用於啟動瀏覽器,爬取圖片鏈接。webdriver-manager: 用來管理selenium瀏覽器驅動的項目。
仔細分析別人項目,不管是源碼還是依賴庫都會有收獲。
webdriver-manager就是我發現的一個寶藏項目,它簡化的瀏覽器驅動的管理。
- 打開
keywords.txt文件,編寫爬取的關鍵字。
cat
dog
- 運行
main.py文件
> python main.py
參數說明:
--skip true:如果下載的關鍵字已經存在,是否跳過關鍵字,重新下載時需要設置。
--threads 4: 下載使用線程數量
--google true: 從google.com 下載。
--naver true: 從naver.com 下載。
--full false: 下載全分辨率圖像而不是縮略圖 (慢)。
--face false: Face search mode。
--no_gui auto: 使用 GUI 模式. (headless模式) 全分辨率模式可以加速, 但是縮略圖模式不穩定。 默認auto模式,如果full=false 默認使用使用GUI,如果full=true默認Headless模式。(可用於docker linux系統)。
--limit 0: 設置最大圖片下載范圍。 (0: 無限制)
--proxy-list: 逗號分隔的代理列表,如: socks://127.0.0.1:1080, http://127.0.0.1:1081,每個線程從列表中隨即選擇一個。
例如:
> python main.py --threads 2 --google true --naver false --full false --limit 50

- 爬取的圖片保存於
downloads/目錄。

小結
-
因為使用的是Google網站,沒有梯子的同學有點郁悶。項目本身並不復雜,兩個python文件加一起不到1000行代碼,我們完全可以花點時間替換為國內可訪問的搜索引擎。
-
下載圖片只是為了欣賞貓貓狗狗嗎?當然不是,我們可用下載的圖片訓練 AI。
