質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

621閲覧

取得したhtmlからimgタグを取り除きたいがエラーでできない

su_da221

総合スコア59

Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/12/18 05:26

前提・実現したいこと

あるhtmlコードからimgタグを削除したいのですがエラーが出ていてできないです。

発生している問題・エラーメッセージ

for lis in html.find_all('img'): AttributeError: 'str' object has no attribute 'find_all'

該当のソースコード

html = '<div style="margin:10px auto 0;display:inline-block;max-width:100%;"><img src="https://ae01.alicdn.com/kf/H7bba8cd0e1dc42d6a5095c78a2c50ddc5.jpg"></div><div><div><p>スタンプヘッドは直径12mmです。<br><img src="https://ae01.alicdn.com/kf/H7251099b202c44c997032b46abd5a5e1V.jpg?width=2736&amp;height=2736&amp;hash=5472"><br><img align="absmiddle" src="https://ae01.alicdn.com/kf/H7edd8fe355b44429a5794f0742b44a27Y.jpg?width=900&amp;height=900&amp;hash=1800" style="max-width: 750.0px;"></div>' for lis in html.find_all('img'): lis.decompose() cssf = html.replace('\n','') print(cssf)

試したこと

補足情報(FW/ツールのバージョンなど)

python3.8.8

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

BeautifulSoupでsoupにしてから、あとをやってください。

python

1>>> from bs4 import BeautifulSoup 2>>> html = '<div style="margin:10px auto 0;display:inline-block;max-width:100%;"><img src="https://ae01.alicdn.com/kf/H7bba8cd0e1dc42d6a5095c78a2c50ddc5.jpg"></div><div><div><p>スタンプヘッドは直径12mmです。<br><img src="https://ae01.alicdn.com/kf/H7251099b202c44c997032b46abd5a5e1V.jpg?width=2736&amp;height=2736&amp;hash=5472"><br><img align="absmiddle" src="https://ae01.alicdn.com/kf/H7edd8fe355b44429a5794f0742b44a27Y.jpg?width=900&amp;height=900&amp;hash=1800" style="max-width: 750.0px;"></div>' 3>>> 4>>> soup = BeautifulSoup(html) 5>>> print(soup.find_all('img')) 6[<img src="https://ae01.alicdn.com/kf/H7bba8cd0e1dc42d6a5095c78a2c50ddc5.jpg"/>, <img src="https://ae01.alicdn.com/kf/H7251099b202c44c997032b46abd5a5e1V.jpg?width=2736&amp;height=2736&amp;hash=5472"/>, <img align="absmiddle" src="https://ae01.alicdn.com/kf/H7edd8fe355b44429a5794f0742b44a27Y.jpg?width=900&amp;height=900&amp;hash=1800" style="max-width: 750.0px;"/>] 7

投稿2021/12/18 05:35

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

AttributeError: 'str' object has no attribute 'find_all'

文字列にはfind_allはない、とおっしゃってますよ。
ここでなにをしたいんでしょうか.

投稿2021/12/18 05:29

編集2021/12/18 05:30
y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問