Photo by Soragrit Wongsa on Unsplash 圖像辨識的技術,現在已經廣泛的應用在日常生活中,舉例來說,Google相簿就有使用圖像辨識的技術,來協助使用者標記景點或人物,或是Facebook使用圖片辨識來取出圖片中的文字,來找出違反政策的貼文,改善動態消息的內容等。 而要讓機器能夠辨識出圖片中的內容,就需要有大量的圖片進行機器學習,這時候就可以利用Python網頁爬蟲的技術,蒐集網路上所需的圖片,進而輸入機器中學習。 所以本文想來和讀者分享,如何利用Python網頁爬蟲來自動化下載圖片,其中的開發流程為: 分析 圖片來源網站 爬取圖片來源網址 下載圖片至資料夾中 一、分析 圖片來源網站 本文以 Unsplash 圖片網站為例,其中包含許多種類的高解析度圖片,如下: 假設在搜尋的地方輸入car,就可以找到汽車相關的圖片,如下: 這時候可以觀察網址的地方,最後會加上使用者所輸入的查詢關鍵字,如下圖: 接著,來看一下每張圖片的HTML原始碼結構,如下圖: 可以看到,圖片標籤(img)的樣式類別(class)為「 _2VWD4 _2zEKz 」,Python網頁爬蟲就能夠依據這個 樣式類別(class)來進行定位,取得圖片。 二、爬取圖片來源網址 瞭解所要爬取的 Unsplash 圖片網站結構後,本文以Visual Studio Code,開啟Python網頁爬蟲專案資料夾,在Terminal的視窗中,利用以下的指令安裝所需的套件 : $ pip install requests $ pip install beautifulsoup4 $ pip install lxml 其中Requests套件用來發送請求給網頁,回應的結果就是使用BeautifulSoup套件爬取內容,而lxml則是支援 BeautifulSoup套件的HTML/XML解析器。 安裝完成後,建立app.py檔案,並且引用以下的模組(Module) : from bs4 import BeautifulSoup import requests import os 範例中引用的os模組(Module),提供操作檔案及目錄的方法,可以協助建立資料夾及存放下載的圖片。 為了提供一個互動的介面,讓使用者能夠輸入想要下載的圖片,可以利用Python內建的input()方法(Met