Home » Python » BeautifulSoupで取得した画像URLをExcelに出力する

BeautifulSoupで取得した画像URLをExcelに出力する

動作検証バージョン:Windows 11 Home + Python 3.10.6(64-bit) + xlwings 0.30.9 + 64bit Excel バージョン2412(ビルド18305.20000クイック実行)ベータチャネル

BeautifulSoupを使ってHTMLファイル内の画像URLを取得するスクリプトをご紹介しました。

xlwingsを組み合わせれば、Excelに出力することも可能です。

[スポンサードリンク]

BeautifulSoupで取得した画像URLをExcelに出力するサンプルスクリプト

以下のスクリプトを実行すると、Cドライブtempフォルダーのsample.htmlに含まれる画像の中で、「https://example.com/」で始まるものが、新規Excelブックに出力されます。

from bs4 import BeautifulSoup
import xlwings as xw


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

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

bk = xw.Book()
sht = bk.sheets.active

i = 1
for img in soup.css.select('img'):
    src = img.attrs['src']
    if src.startswith('https://example.com/'):
        sht.cells(i, 1).value = src
        i += 1

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

以下の部分は、既にご紹介している画像のURLを取得するスクリプトと同じです。


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

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

bk = xw.Book()
sht = bk.sheets.active

i = 1
for img in soup.css.select('img'):
    src = img.attrs['src']
    if src.startswith('https://example.com/'):
        sht.cells(i, 1).value = src
        i += 1


以下の部分がxlwingsに関係するコードです。

bk = xw.Book()
sht = bk.sheets.active

i = 1
for img in soup.css.select('img'):
    src = img.attrs['src']
    if src.startswith('https://example.com/'):
        sht.cells(i, 1).value = src
        i += 1

こちらは、xlwingsのfor文でExcelのセルにデータを入力するスクリプトが理解できていれば、難しくはありません。

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

[スポンサードリンク]

Home » Python » BeautifulSoupで取得した画像URLをExcelに出力する

「Python」の記事一覧

検索


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

.