我有一个html文件,我想在<meta>
&amp;之间插入一个<head>
标记。使用python的</head>
标签。如果我以append
模式打开文件,如何到达要插入<meta>
标记的相关位置?
答案 0 :(得分:13)
使用BeautifulSoup。以下是使用insert_after()在meta
代码后面插入title
代码的示例:
from bs4 import BeautifulSoup as Soup
html = """
<html>
<head>
<title>Test Page</title>
</head>
<body>
<div>test</div>
</html>
"""
soup = Soup(html)
title = soup.find('title')
meta = soup.new_tag('meta')
meta['content'] = "text/html; charset=UTF-8"
meta['http-equiv'] = "Content-Type"
title.insert_after(meta)
print soup
打印:
<html>
<head>
<title>Test Page</title>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
</head>
<body>
<div>test</div>
</body>
</html>
您还可以找到head
代码并使用insert()指定的位置:
head = soup.find('head')
head.insert(1, meta)
另见:
答案 1 :(得分:0)
你需要一个xml操作库,比如在这里公开Python and HTML Processing,你不仅可以打开文件并尝试附加它。
希望它有所帮助。