长话短说,我尝试使用Beautiful Soup用强标签替换b标签。 汤需要一些包含
的输入<b>Words:</b> attributes
<b>Other Words:</b> other attributes
我有以下python3代码:
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
我该如何解决这个问题?
我假设一旦我能解决这个问题,我就可以从b标签中提取()内容,只留下强标签。
答案 0 :(得分:1)
你只需要:
<strong><b>Words:</b></strong> attributes
<strong><b>Other Words:</b></strong> other attributes
这将打印:
struct child
{
char name[15];
int num;
struct child *next;
};
struct parent
{
char name[15];
struct child *head_child;
struct parent *next;
};
struct parent *head_parent;
答案 1 :(得分: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
答案 2 :(得分: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>