2016-05-18 5 views
1

私はscriptnoscriptタグを特定のタグ(ノード)の下に削除したいと思います。まだラップされていないタグはまだあります

for t in node.find_all(["script", "noscript"]): 
    t.unwrap() 

for s in node.stripped_strings: 
    print s 

しかし、上記のループでは、まだscriptタグの内容が出力されます。

障害はどこですか?

答えて

2

あなたは、あなたが削除したいタグや文字列を返す必要はありません場合は特に、これを行うにはdecompose()メソッドを使用することができ、間違った方法を使用しています。

Tag.decompose()は、タグをツリーから削除し、タグとその内容を完全に破棄します。

for t in node.find_all(["script", "noscript"]): 
    t.decompose() 
2

あなたが代わりにextract() methodが必要になります。

PageElement.extract()は、ツリーからタグや文字列を削除します。

for t in node.find_all(["script", "noscript"]): 
    t.extract() 
関連する問題