Python 是一種高效的編程語(yǔ)言,可以用來(lái)編寫網(wǎng)絡(luò)爬蟲來(lái)獲取網(wǎng)絡(luò)圖片。Python 有三個(gè)庫(kù)可用于創(chuàng)建網(wǎng)絡(luò)爬蟲:urllib,requests 和 Beautiful Soup。
我們將使用 requests 庫(kù)作為我們的網(wǎng)絡(luò)爬蟲,因?yàn)樗梢耘c Beautiful Soup 配合使用來(lái)解析 HTML 頁(yè)面。
import requests from bs4 import BeautifulSoup #替換成你要爬取的地址 url = 'https://www.example.com/' #訪問(wèn)頁(yè)面 r = requests.get(url) #使用 Beautiful Soup 解析 HTML 頁(yè)面 soup = BeautifulSoup(r.content, 'html.parser') #找到所有的 img 標(biāo)簽 images = soup.find_all('img') #創(chuàng)建一個(gè)空列表來(lái)存儲(chǔ)我們獲取的圖片 image_urls = [] #循環(huán)遍歷所有的 img 標(biāo)簽 for image in images: #獲取圖片的 URL src = image['src'] #將圖片的 URL 添加到 image_urls 列表中 image_urls.append(src) #循環(huán)遍歷所有的圖片 URL for url in image_urls: #下載圖片 r = requests.get(url) #獲取圖片的文件名 filename = url.split('/')[-1] #保存圖片到本地 with open(filename, 'wb') as f: f.write(r.content) print(f"圖片 {filename} 已經(jīng)保存到本地!")
上述代碼將首先訪問(wèn)指定 URL 的頁(yè)面,然后使用 Beautiful Soup 解析 HTML 頁(yè)面。我們會(huì)使用 find_all 方法來(lái)找到頁(yè)面上的所有 img 標(biāo)簽,并使用 for 循環(huán)遍歷 img 標(biāo)簽獲取它的 URL,將獲取到的 URL 保存到 image_urls 列表中。
最后,我們?cè)俅问褂靡粋€(gè) for 循環(huán)來(lái)遍歷我們存儲(chǔ)的所有 URL,并下載每個(gè)圖片。將圖片保存到本地的代碼位于 with open 語(yǔ)句內(nèi),這將創(chuàng)建一個(gè)名為 filename 的文件并將圖片寫入文件。