5

我有一个 html 文件,我想使用 python在&标签<meta>之间插入一个标签。如果我以模式打开文件,如何到达要插入标签的相关位置?<head></head>append<meta>

4

2 回答 2

20

使用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)

另见:

于 2013-10-01T18:37:31.970 回答
0

您需要一个 xml 操作库,例如此处公开的Python 和 HTML 处理,您不能只打开文件并尝试附加它。

希望能帮助到你。

于 2013-10-01T18:39:06.593 回答