Home » Python » BeautifulSoupでHTMLファイル内の画像URLを取得する

BeautifulSoupでHTMLファイル内の画像URLを取得する

動作検証バージョン:Windows 11 Home + Python 3.10.11

BeautifulSoupを使えばローカルのHTMLファイルを簡単に確認できます。

私がやりたかったのは、そのHTMLファイルに書かれている画像ファイルのURLを取得することです。

[スポンサードリンク]

ローカルのHTMLファイルの画像URLを出力するサンプルスクリプト

以下のスクリプトで、Cドライブtempフォルダーのsamle.htmlファイルに書かれている画像ファイルの中で、「https://example.com/」で始まるもののURLを出力できます。

from bs4 import BeautifulSoup

path = r'C:\temp\sample.html'

with open(path, 'r', encoding='utf-8') as file:
    html = file.read()

soup = BeautifulSoup(html, 'html.parser')

for img in soup.css.select('img'):
    src = img.attrs['src']
    if src.startswith('https://example.com/'):
        print(src)

サンプルスクリプトで行っている処理

以下の行までは、ご紹介済みのスクリプトと同じです。

soup = BeautifulSoup(html, 'html.parser')

私が扱いたかったHTMLファイルの画像URLは以下の形で取得できました。

for img in soup.css.select('img'):
    src = img.attrs['src']
    if src.startswith('https://example.com/'):
        print(src)

特定のURLで始まっていることがわかっていたこともあり、str.startswithメソッドで判定して出力しています。

    if src.startswith('https://example.com/'):
        print(src)

最終更新日時:2024-12-04 10:33

[スポンサードリンク]

Home » Python » BeautifulSoupでHTMLファイル内の画像URLを取得する

「Python」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.