python是一門(mén)廣泛應(yīng)用于網(wǎng)絡(luò)爬蟲(chóng)、數(shù)據(jù)分析和機(jī)器學(xué)習(xí)的語(yǔ)言,使用python可以輕松地扒取圖片等資源并進(jìn)行處理。在網(wǎng)頁(yè)開(kāi)發(fā)中,我們常常需要從網(wǎng)頁(yè)中提取圖片,利用python可以輕松實(shí)現(xiàn)這一功能。
import requests
from bs4 import BeautifulSoup
import os
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
url = 'https://www.example.com/page'
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.text, 'html.parser')
imgs = soup.find_all('img')
for img in imgs:
img_url = img['src']
img_name = img_url.split('/')[-1]
img_data = requests.get(img_url, headers=headers).content
if not os.path.exists('images/'):
os.makedirs('images/')
with open(f'images/{img_name}', 'wb') as f:
f.write(img_data)
print(f'save {img_name} success')
上面的代碼使用了requests和BeautifulSoup兩個(gè)庫(kù),先請(qǐng)求網(wǎng)頁(yè)源代碼后使用BeautifulSoup解析獲取所有img標(biāo)簽的內(nèi)容,最后通過(guò)requests發(fā)送get請(qǐng)求將圖片下載到本地images文件夾。
在上面的代碼中,我們還判斷了images文件夾是否存在,如果不存在,創(chuàng)建一個(gè)以確保程序正常運(yùn)行。同時(shí),我們?cè)谙螺d圖片的過(guò)程中使用了with open語(yǔ)句自動(dòng)關(guān)閉文件。
總之,使用python進(jìn)行網(wǎng)頁(yè)扒圖簡(jiǎn)單快捷,適用于多種場(chǎng)景。需要注意的是,網(wǎng)站版權(quán)等問(wèn)題需要慎重考慮,不得侵犯他人權(quán)益。
下一篇vue div 水平