2017-11-18 5 views
1

私は美味しいスープを使ってbタグを強いタグに置き換えようとしています。美味しいスープfind_allは個別にではなく一緒にラップします

strong_tag = soup.new_tag("strong") 
if(soup.find('b')): 
    for b_tag in soup.find_all('b'): 
     b_tag.wrap(strong_tag) 

これは

attributes 
<strong><b>Words:</b><b>Other Words:</b></strong> other attributes 

代わりの

私はどのように
<strong><b>Words:</b></strong> attributes 
<strong><b>Other Words:</b></strong> other attributes 

を出力: スープは、私は次のpython3コードを持って

<b>Words:</b> attributes 
<b>Other Words:</b> other attributes 

を含み、いくつかの入力を受け取り、これを修正しますか?

私はこれを修正できたら、強いタグだけを残して、bタグから内容を抽出できます。

from bs4 import BeautifulSoup 
div_test=""" 
<b>Words:</b> attributes 
<b>Other Words:</b> other attributes 
""" 
soup = BeautifulSoup(div_test,'html.parser') 
for b_tag in soup.find_all('b'): 
    b_tag.wrap(soup.new_tag("strong")) 
print(soup) 

この印刷されます:あなたは、ちょうど必要

答えて

1

<strong><b>Words:</b></strong> attributes 
<strong><b>Other Words:</b></strong> other attributes 
0

を簡単なものは、あなたが

from BeautifulSoup import BeautifulSoup, Tag 
    mes=""" <b>Words:</b> attributes 
    <b>Other Words:</b> other attributes""" 
    soup = BeautifulSoup(mes) 

    for a in soup.findAll('b'): 
      p = Tag(soup, 'strong') 
      a.replaceWith(p) 
      p.insert(0, a) 

    print soup 
0

どうreplaceについて、それをしたいと思います願っていますか?

from bs4 import BeautifulSoup 
div_test="""<b>Words:</b> attributes 
<b>Other Words:</b> other attributes""" 
soup = BeautifulSoup(div_test,'lxml') 

str(soup).replace("b>","strong>") 

出力:

<html><body><strong>Words:</strong> attributes 
<strong>Other Words:</strong> other attributes 
</body></html> 
関連する問題