這篇文章將從以下幾個方面詳細講解如何使用Python爬取圖片並保存到本地。
一、環境準備
在使用Python進行爬蟲編程之前,我們需要先安裝requests庫和beautifulsoup4庫。其中,requests庫用來發送HTTP請求獲取頁面數據,beautifulsoup4庫用來解析HTML頁面數據。
pip install requests
pip install beautifulsoup4
二、獲取圖片鏈接
在爬蟲程序中,首先需要做的就是獲取圖片鏈接。獲取圖片鏈接的方法有很多種,這裡我們以解析HTML頁面為例來獲取圖片鏈接。
下面是一個獲取圖片鏈接的例子:
import requests
from bs4 import BeautifulSoup
url = 'https://www.example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
img_tags = soup.find_all('img')
img_urls = []
for img in img_tags:
img_url = img.get('src')
if img_url:
img_urls.append(img_url)
上述代碼中,我們首先使用requests庫發送HTTP請求獲取頁面數據,然後使用beautifulsoup4庫解析HTML頁面數據。在獲取圖片標籤後,我們通過遍歷所有圖片標籤來獲取其對應的圖片鏈接。最後將所有圖片鏈接保存在img_urls列表中。
三、下載圖片
獲取到圖片鏈接之後,接下來我們需要將其下載到本地。下載圖片的方法也有多種,這裡我們以使用requests庫下載圖片為例。
下面是一個下載圖片的例子:
import requests
for img_url in img_urls:
response = requests.get(img_url, stream=True)
if response.status_code == 200:
with open('image.jpg', 'wb') as f:
for chunk in response.iter_content(1024):
f.write(chunk)
上述代碼中,我們遍歷所有圖片鏈接並使用requests庫發送HTTP請求下載對應圖片。我們使用response.iter_content()方法來批量下載圖片。最後將對應圖片保存在本地文件夾中。
四、完整代碼
下面是完整的Python爬取圖片保存到本地的代碼示例:
import requests
from bs4 import BeautifulSoup
def get_img_urls(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
img_tags = soup.find_all('img')
img_urls = []
for img in img_tags:
img_url = img.get('src')
if img_url:
img_urls.append(img_url)
return img_urls
def download_img(img_url):
response = requests.get(img_url, stream=True)
if response.status_code == 200:
with open('image.jpg', 'wb') as f:
for chunk in response.iter_content(1024):
f.write(chunk)
if __name__ == '__main__':
url = 'https://www.example.com'
img_urls = get_img_urls(url)
for img_url in img_urls:
download_img(img_url)
原創文章,作者:WZVKS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/373358.html