動作検証バージョン: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
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
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
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
[スポンサードリンク]
- Newer:Excel VBAでデスクトップにフォルダーを作成する
- Older:Word VBAでフォントを変更する基本