PythonとBeautifulSoupを使用してWebサイトから画像をダウンロードする方法について説明します。この記事では、BeautifulSoupを使用してHTMLをパースし、画像リンクを抽出する方法を学びます。
まず、必要なライブラリをインポートします。
import requests
from bs4 import BeautifulSoup
from os.path import basename
次に、対象のWebページからHTMLを取得します。
url = "https://example.com"
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
このコードは、指定したURLからHTMLを取得し、BeautifulSoupオブジェクトに変換します。これにより、HTMLの解析と操作が可能になります。
次に、BeautifulSoupを使用して画像リンクを抽出します。
images = soup.find_all('img')
for image in images:
img_url = image['src']
img_data = requests.get(img_url).content
with open(basename(img_url), 'wb') as handler:
handler.write(img_data)
このコードは、HTMLからすべてのimg
タグを見つけ、各画像のURLを取得します。その後、requests.get()
を使用して画像データを取得し、画像の名前でファイルを開き、画像データを書き込みます。
以上がPythonとBeautifulSoupを使用してWebサイトから画像をダウンロードする基本的な方法です。このコードは基本的なものであり、特定のクラスやIDを持つ画像のみをダウンロードするなど、さまざまな方法でカスタマイズすることが可能です。
この記事がPythonとBeautifulSoupを使用したWebスクレイピングの一助となれば幸いです。