爬一爬那些年你硬盘存过的老师
點擊“小詹學Python”,選擇“置頂”公眾號
重磅干貨,第一時間送達
本文轉載自Python全家桶,禁二次轉載
除非你能在床上賺錢,否則就不要賴在床上!
——蒼老師(別當真)
最近在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的任何圖片了。
今日互動:第一期打卡即將結束,很多小伙伴兌獎了,沒兌獎的你想兌換哪一本書呢
?長按二維碼可以關注噢
總結
以上是生活随笔為你收集整理的爬一爬那些年你硬盘存过的老师的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中文课程!台大李宏毅机器学习公开课201
- 下一篇: 给你安利几个牛逼的公众号~