我正在构建示例 How can I insert a new tag into a BeautifulSoup object? 。
import pandas
from bs4 import BeautifulSoup
a = [['1/2/2014', 'a', '6', 'z1'],
['1/2/2014', 'a', '3', 'z1'],
['1/3/2014', 'c', '1', 'x3'],
]
df = pandas.DataFrame.from_records(a[1:], columns=a[0])
soup = BeautifulSoup(df.to_html(header=False), 'lxml')
original_tag = soup.find_all('td')[4]
new_tag = soup.new_tag('FONT', COLOR='white')
original_tag.append(new_tag)
print(soup)
正如你所看到的。 1/3/2014
位于标签 <FONT COLOR>
之外。我需要<FONT COLOR>
要缠绕的标签 1/3/2014
最佳答案
您可以使用wrap
所需标签的内容。
import pandas
from bs4 import BeautifulSoup
a = [['1/2/2014', 'a', '6', 'z1'],
['1/2/2014', 'a', '3', 'z1'],
['1/3/2014', 'c', '1', 'x3']]
df = pandas.DataFrame.from_records(a[1:], columns=a[0])
soup = BeautifulSoup(df.to_html(header=False), 'lxml')
original_tag = soup.find_all('td')[4]
new_tag = soup.new_tag('FONT', COLOR='white')
<strong>original_tag.contents[0].wrap(new_tag)</strong>
print(soup)
关于python - 使用 beautifulsoup 将标签插入到 html 中,并且值已经存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55079123/