使用python插入html文件

时间:2013-10-01 18:24:00

标签: python html html-parsing

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

2 个答案:

答案 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,你不仅可以打开文件并尝试附加它。

希望它有所帮助。