爬一爬那些年你硬碟存過的“老師”

AI科技大本營發表於2019-03-02

640?wx_fmt=jpeg

 

作者 | PayneLi

轉載自Python全家桶(ID: python-0321)

 

人工智慧的現狀及今後發展趨勢如何? 

https://edu.csdn.net/topic/ai30?utm_source=csdn_bw

 

最近在Github發現一個基於google瀏覽器的爬蟲專案,此專案是由美國大神2018年開源的。這個開源專案不需要使用者再去手寫核心爬蟲,只需要下載安裝,然後傳入一些配置引數即可。重要的能做到google圖片的無限量爬取,只有不想爬的圖片,沒有爬不到的。下來就介紹一下這個牛逼的開源專案。

 

 

 

前沿

 

 

這是一個命令列python程式,用於搜尋Google Images上的關鍵字/關鍵短語,並可選擇將影像下載到您的計算機。還可以從另一個python檔案呼叫此指令碼。

如果只想為每個關鍵字下載最多100個影像,則無需安裝依賴項。如果您想要每個關鍵字超過100個影像,需要同時安裝Selenium庫chromedriver。故障排除部分中的詳細說明。

 

Github地址:https://github.com/hardikvasa/google-images-download

 

 

專案介紹: google-images-download

 

此專案開源到現在一年的時間,就已經收割了3900+star,真的不得不跪拜大神的能力,能將一個簡單的爬蟲做到如此牛逼的地步。

 

640?wx_fmt=png

 

當然,這麼熱門的專案,也不是一個人短時間完成的。Github上顯示,此專案的貢獻者就高達26人,程式碼總共提交了133次。此專案能收到這麼多star,還是在於更多的貢獻者和後期的不斷維護升級。

 

這個專案在github也做了具體的使用說明和介紹,大家可以根據自身的專案情況進行配置即可(為了方便閱讀,通過google翻譯為中文)。

 

640?wx_fmt=png

 

關於此專案使用這裡多逼逼幾點:

 

  • 版本要求:

    該專案作者GitHub上說python2x與Python3x都可以,推薦Python3。

 

  • 專案使用:有2種使用方式

     

方式一:使用pip安裝報的方式(推薦)

 


 

pip install  google_images_download


 

 

方式二:手動下載

 


 

 

git clone https://github.com/hardikvasa/google-images-download.git 
cd google-images-download && sudo python setup.py install

 

  • 圖片數量:

    google搜尋關鍵字首頁預設100張圖片,要抓取更多的圖片,就得增加翻頁功能。此專案已經實現了翻頁功能,只需要使用者同時安裝Selenium庫chromedriver,程式碼裡面配置即可。

     

  • 引數方式:

    原作者對引數的傳遞形式和每一個引數都做了詳細的說明,大家可以github詳細瞭解。

 

 

使用案例

 

這裡給大家分享一下如何將此專案用來爬取去自己需要的圖片。原作者介紹了幾種關鍵字輸入的方式。這裡以檔案讀取的形式將關鍵字傳入。這裡爬取圖片的數量選為500張,需要下載、安裝Selenium庫chromedriver。

 

1、搭建爬蟲環境

 


 

 

pip install selenuium
pip install requests
pip install google_images_download

 

2、下載chromedriver驅動

 

因為下載的圖片數量大於100,所以還需要在安裝chromedriver,在程式碼配置chromedriver位置即可。

 

首先要檢視自己電腦上安裝的google瀏覽器版本號

 

640?wx_fmt=png

▲谷歌瀏覽器版本號▲

 

github給的下載路徑國內是無法下載的,不過小編已經將大多數驅動下載下來,需要的可以後臺私信獲取。當然也可以通過別的渠道獲取。

 

640?wx_fmt=png

▲github給的下載地址▲

 

在chrome官網找到與本機的google瀏覽器版本號一致的chromedriver

 

640?wx_fmt=png

▲chrome官網對應的驅動版本號▲

 

下載完後,安裝的路徑根據作業系統自己指定。我使用的時win系統,安裝在了D盤,具體路徑如下:

 


 

 

"D:\download\chromedriver.exe"

 

3、編輯爬取的關鍵字檔案

 

如圖所示,只需要在keywords.csv檔案裡面按圖所示填寫對應老師的名稱即可。

 

640?wx_fmt=png

 

4、程式碼展示


 

 


 

import csv
import os
import sys

from google_images_download import google_images_download

# 例項化一個下載器
downloader = google_images_download.googleimagesdownload()

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, BASE_DIR)

# 讀取關鍵字檔案
csv_file = csv.reader(open(BASE_DIR + "\google_images\keywords.csv""r"))

def download_images(csv_file):
   """
   傳入關鍵字等引數,下載對應的圖片檔案
   files: 讀取的關鍵字檔案
   limit: 爬取的圖片數量
   print_urls: 是否顯示爬取的圖片url
   chromedriver: chromedriver安裝的路徑。不填此引數,預設爬取前100張圖片
   output_directory:自定義儲存圖片的位置
   """

   for key_word in csv_file:
       arguments = {"keywords": key_word, "limit"500"print_urls"True,
                    "chromedriver""D:\download\chromedriver.exe",
                    "output_directory": BASE_DIR + "\\files\\"}

       downloader.download(arguments)

if __name__ == '__main__':
   download_images(csv_file)

 

執行:python google_download.py,你就會發現有源源不斷的老師圖片進入你的硬碟,接下來就是坐等爬完所有你要的圖片了。

 

此文章主要還是給大家分享這個開源專案,至於使用,本文只是做了一個簡單的使用,想要了解更多的,可以直接在github檢視。在實際中,我們可以利用這個python指令碼去爬取基於google的任何圖片了。

 

(本文為AI科技大本營轉載文章,轉載請微信聯絡原作者)

如何挑戰百萬年薪的人工智慧!

https://edu.csdn.net/topic/ai30?utm_source=csdn_bw

 

群招募

 

掃碼新增小助手微信,回覆:公司+研究方向(學校+研究方向),邀你加入技術交流群。技術群稽核較嚴,敬請諒解。

640?wx_fmt=jpeg

 

推薦閱讀:

                         640?wx_fmt=png

點選“閱讀原文”,檢視歷史精彩文章。

相關文章