使用python插入html文件

ric*_*hie 2 html python html-parsing

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

ale*_*cxe 14

使用BeautifulSoup.这是一个示例,使用insert_after()metatitle标记之后插入标记:

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
Run Code Online (Sandbox Code Playgroud)

打印:

<html>
    <head>
        <title>Test Page</title>
        <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
    </head>
    <body>
        <div>test</div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

您还可以找到head标记并使用具有指定位置的insert():

head = soup.find('head')
head.insert(1, meta)
Run Code Online (Sandbox Code Playgroud)

另见:

  • 为美丽的汤+1而不是正则表达式或其他一些亵渎神灵的方法...... (3认同)