AotucCrawler 快速爬取圖片

AotucCrawler 快速爬取圖片

今天介紹一款自動化爬取圖片項目。

GitHub: //github.com/YoongiKim/AutoCrawler

Google, Naver multiprocess image web crawler (Selenium)

關鍵字

  • 爬蟲網站:Google、Naver (美、韓兩大搜索引擎)
  • 運行方式:Multiprocess(多進程)
  • 爬取格式:image (圖片)
  • 基於自動化工具:Selenium (不解釋)

如何使用

  1. Git克隆AutoCrawler項目到本地

  2. 自行安裝 Chrome 瀏覽器

  3. 安裝依賴

> pip -r requirements.txt
  • certifi: 包含了很多可信任知名公司的證書/公鑰。
  • chardet:提供自動檢測字元編碼的功能。
  • idna: 提供”對於RFC5891中定義的IDNA協議(Internationalised Domain Names in Applications)的支援”。
  • requests: 依賴於上面三個基礎庫,他主要用於根據圖片鏈接下載圖片。
  • selenium: 用於啟動瀏覽器,爬取圖片鏈接。
  • webdriver-manager: 用來管理selenium瀏覽器驅動的項目。

仔細分析別人項目,不管是源碼還是依賴庫都會有收穫。webdriver-manager 就是我發現的一個寶藏項目,它簡化的瀏覽器驅動的管理。

  1. 打開keywords.txt文件,編寫爬取的關鍵字。
cat
dog
  1. 運行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, //127.0.0.1:1081,每個執行緒從列表中隨即選擇一個。

例如:

> python main.py --threads 2 --google true  --naver false --full false --limit 50

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

小結

  1. 因為使用的是Google網站,沒有梯子的同學有點鬱悶。項目本身並不複雜,兩個python文件加一起不到1000行程式碼,我們完全可以花點時間替換為中國可訪問的搜索引擎。

  2. 下載圖片只是為了欣賞貓貓狗狗嗎?當然不是,我們可用下載的圖片訓練 AI。

Tags: