ric*_*hie 2 html python html-parsing
我有一个html文件,我想<meta>在使用python 的<head>&</head>标签之间插入一个标签.如果我在append模式下打开文件,如何<meta>到达要插入标签的相关位置?
ale*_*cxe 14
使用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
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)
另见: