2017-01-25 14 views
0

でタグを置き換える私は私がsoup.h1.name = "b"BeautifulSoup4:2人の他人

を使用してbh1を置き換えることができます。しかし、いくつかの他の人が単一のタグを交換する方法がある知っている<b><u>title</u></b>

<h1>title</h1>を交換したいですか?

(ダニエル・ローズマンのための特別編集:タグは本当に重要ではありません...

+0

Beautiful Soupは無効なマークアップを生成できません。これはこれです。 –

+0

@DanielRosemanあなたは「飲み物」の意味を説明できますか? (私はネイティブスピーカーではありません) –

+0

あなたはこれらのタグが無効であることを意味しますか? (タグは本当に問題ではありません) –

答えて

1

使用wrap()

ドキュメントから:私ができるRobertBへ

soup = BeautifulSoup("<p>I wish I was bold.</p>") 
soup.p.string.wrap(soup.new_tag("b")) 
# <b>I wish I was bold.</b> 

soup.p.wrap(soup.new_tag("div")) 
# <div><p><b>I wish I was bold.</b></p></div> 
+0

すべての 'p'を' b'に変更したくないのでもう少し複雑でしたが、あなたの助けを借りて残りの部分を見つけて答えは以下の通りです。 –

+0

を参照してください。 – RobertB

0

感謝回答者の残りの部分を見つけてください。

あなたが必要です:

  1. u
  2. unwrap()を使用して)タグh1
<!-- language: python --> 
from bs4 import BeautifulSoup 
soup = BeautifulSoup("<h1>title</h1>", "html.parser") 
soup.h1.string.wrap(soup.new_tag("b")) 
print(soup) # >> <h1><b>title</b></h1> 

soup.h1.string.wrap(soup.new_tag("u")) 
print(soup) # >> <h1><b><u>title</u></b></h1> 

soup.h1.unwrap() 
print(soup) #>> <b><u>title</u></b> 
を削除 p
  • 新しいタグでh1をラップする新しいタグでh1を包みます
  • +0

    申し訳ありませんが、誰かが行う方法を知っている場合は、スタックは、Pythonコード(とHTMLではない)として認識されません... –

    +0

    @glibdubありがとう!どのようにしましたか? (私の試行で何が間違っていたのですか?) –

    +0

    ちょっとしたエディタのボタンを使います。投稿にHTMLを書き込もうとしないでください。 – RobertB