爬一爬那些年你硬碟存過的“老師”
作者 | 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,真的不得不跪拜大神的能力,能將一個簡單的爬蟲做到如此牛逼的地步。
當然,這麼熱門的專案,也不是一個人短時間完成的。Github上顯示,此專案的貢獻者就高達26人,程式碼總共提交了133次。此專案能收到這麼多star,還是在於更多的貢獻者和後期的不斷維護升級。
這個專案在github也做了具體的使用說明和介紹,大家可以根據自身的專案情況進行配置即可(為了方便閱讀,通過google翻譯為中文)。
關於此專案使用這裡多逼逼幾點:
-
版本要求:
該專案作者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瀏覽器版本號
▲谷歌瀏覽器版本號▲
github給的下載路徑國內是無法下載的,不過小編已經將大多數驅動下載下來,需要的可以後臺私信獲取。當然也可以通過別的渠道獲取。
▲github給的下載地址▲
在chrome官網找到與本機的google瀏覽器版本號一致的chromedriver
▲chrome官網對應的驅動版本號▲
下載完後,安裝的路徑根據作業系統自己指定。我使用的時win系統,安裝在了D盤,具體路徑如下:
"D:\download\chromedriver.exe"
3、編輯爬取的關鍵字檔案
如圖所示,只需要在keywords.csv檔案裡面按圖所示填寫對應老師的名稱即可。
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
群招募
掃碼新增小助手微信,回覆:公司+研究方向(學校+研究方向),邀你加入技術交流群。技術群稽核較嚴,敬請諒解。
推薦閱讀:
點選“閱讀原文”,檢視歷史精彩文章。
相關文章
- 那些年,我爬過的北科(六)——反反爬蟲之js渲染爬蟲JS
- 那些年,我爬過的北科(序)——我和爬蟲的緣分爬蟲
- 那些年,我爬過的北科(一)——爬蟲基礎之環境搭建與入門爬蟲
- 那些年,我爬過的北科(二)——爬蟲基礎之session登陸爬蟲Session
- 那些年,我爬過的北科(八)——反反爬蟲之驗證碼識別爬蟲
- PHP老師沒教過你的那些知識點PHP
- 那些年,我爬過的北科(四)——爬蟲進階之極簡併行爬蟲框架開發爬蟲框架
- 爬蟲那些事-爬蟲設計思路爬蟲
- 6年開發老程式設計師給你分析前端那些事兒程式設計師前端
- 一個老同學的故事引發的nodejs 爬蟲NodeJS爬蟲
- @程式設計師,一文讓你掌握Python爬蟲!程式設計師Python爬蟲
- 爬取js渲染過的頁面(爬取一個婚慶網站為例)JS網站
- 爬爬爬爬爬某企鵝的影片,加了代理和定時任務
- 一個很垃圾的整站爬取--Java爬蟲Java爬蟲
- 微信小程式爬過的坑微信小程式
- 爬蟲專案(一)爬蟲+jsoup輕鬆爬知乎爬蟲JS
- [python爬蟲] 招聘資訊定時系統 (一).BeautifulSoup爬取資訊並儲存MySQLPython爬蟲MySql
- python爬蟲總是爬不到資料,你需要解決反爬蟲了Python爬蟲
- [python 爬蟲]第一個Python爬蟲,爬取某個新浪部落格所有文章並儲存為doc文件Python爬蟲
- 【爬坑】一次OOM爬坑之旅OOM
- 網路爬蟲——爬蟲實戰(一)爬蟲
- python爬蟲—基本的模組,你一定要懂!!Python爬蟲
- 爬蟲入門經典 | 一文帶你爬取傳統古詩詞!爬蟲
- 聽說你的爬蟲被封了?爬蟲
- (python)爬蟲----八個專案帶你進入爬蟲的世界Python爬蟲
- 【0基礎學爬蟲】爬蟲基礎之資料儲存爬蟲
- 【0基礎學爬蟲】爬蟲基礎之檔案儲存爬蟲
- 8個最高效的Python爬蟲框架,你用過幾個?Python爬蟲框架
- 什麼是Python爬蟲?一篇文章帶你全面瞭解爬蟲Python爬蟲
- 這可能是你見過的最全的網路爬蟲總結爬蟲
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- 老猿為什麼寫Python爬蟲教程Python爬蟲
- 什麼是爬蟲?Python爬蟲工程師崗位爬蟲Python工程師
- 一個小專案(爬蟲)的誕生全過程爬蟲
- 爬蟲工程師勸退文爬蟲工程師
- Java 月薪25K的爬蟲工程師對爬蟲的流程做了一個非常全面的總結!Java爬蟲工程師
- 那些年我玩過的程式語言(一)
- IT人,那些年,一起踩過的坑