使用BeautifulSoup添加meta标签

5 投票
1 回答
3344 浏览
提问于 2025-04-18 02:55

如何在HTML页面的标题标签后面添加一个meta标签,使用的是Beautiful Soup这个库。我在用Python编程,但不知道怎么做到这一点。

1 个回答

13

使用 soup.create_tag() 来创建一个新的 <meta> 标签,然后给这个标签设置一些属性,最后把它添加到你的文档的 <head> 部分。

metatag = soup.new_tag('meta')
metatag.attrs['http-equiv'] = 'Content-Type'
metatag.attrs['content'] = 'text/html'
soup.head.append(metatag)

示例:

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('''\
... <html><head><title>Hello World!</title>
... </head><body>Foo bar</body></html>
... ''')
>>> metatag = soup.new_tag('meta')
>>> metatag.attrs['http-equiv'] = 'Content-Type'
>>> metatag.attrs['content'] = 'text/html'
>>> soup.head.append(metatag)
>>> print soup.prettify()
<html>
 <head>
  <title>
   Hello World!
  </title>
  <meta content="text/html" http-equiv="Content-Type"/>
 </head>
 <body>
  Foo bar
 </body>
</html>

撰写回答