Python の文字列から、許可リストにない HTML タグを削除する
2023-08-26 20:25:14
質問
テキストとHTMLを含む文字列があります。私は、以下のようないくつかのHTMLタグを削除したり、無効にしたいのです。
<script>
のような一部のHTMLタグを削除するか無効にして、他のタグは許可して、Webページで安全に表示できるようにしたいのです。許可されたタグのリストはありますが、他のタグを削除するために文字列をどのように処理すればよいですか?
どのように解決するのですか?
ここでは ビューティフルスープ :
from bs4 import BeautifulSoup
VALID_TAGS = ['strong', 'em', 'p', 'ul', 'li', 'br']
def sanitize_html(value):
soup = BeautifulSoup(value)
for tag in soup.findAll(True):
if tag.name not in VALID_TAGS:
tag.hidden = True
return soup.renderContents()
無効なタグの内容も削除したい場合は、代わりに
tag.extract()
を
tag.hidden
.
関連
-
[解決済み] UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 20: ordinal not in range(128)
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] Pythonで文字列を小文字にするには?
-
[解決済み] なぜlist.join(string)ではなくstring.join(list)なのでしょうか?
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] HTMLマークアップのどこに<script>タグを記述すればよいですか?
-
[解決済み] ページロード後にJavaScriptを実行させるには?
-
[解決済み] XMLのアンパサンドをエスケープして、HTMLで実体として表示するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでのAWS Lambdaのインポートモジュールエラー
-
[解決済み] SQLAlchemy: セッションの作成と再利用
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
-
[解決済み] Celeryタスクのユニットテストはどのように行うのですか?
-
[解決済み] Python Empty Generator 関数
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] 認証プラグイン 'caching_sha2_password' はサポートされていません。