我有几个HTML文件,其内容是这样的:根据标签修改html文件?
<html>
<header>
<title>A test</title>
</header>
<body>
<table>
<tr>
<td id="MenuTD" style="vertical-align: top;">
Stuff here <a>with a link</a>
<p>Or paragraph tags</p>
<div>Or a DIV</div>
</td>
<td>Another TD element, without the MenuTD id</td>
</tr>
</table>
<div>
<link rel="stylesheet" href="\d\d\d\d_files/zannotationtargettoggle.css" type="text/css">
</div>
</body>
</html>
其中\d
是一个数字的占位符,以及确切的数字的文件有不同。
我想写一个Python程序到每个HTML文件转换为以下形式:
<html>
<header>
<title>A test</title>
</header>
<body>
<link rel="stylesheet" href="\d\d\d\d_files/zannotationtargettoggle.css" type="text/css">
<td id="MenuTD" style="vertical-align: top;">
Stuff here <a>with a link</a>
<p>Or paragraph tags</p>
<div>Or a DIV</div>
</td>
</body>
</html>
具体来说,
我们怎样才能提取鉴于头标记
<header>...</header>
和<link rel="stylesheet" href="\d\d\d\d_files/zannotationtargettoggle.css" type="text/css">
,他们没有ID?如果身体标签具有属性例如
<body style="margin-left: 6px; cursor: default;" onload="InitBody();">...</body>
,我们应该如何首先清空其内容...
里面的开始和结束标记,然后在里面加上<link rel="stylesheet" href="\d\d\d\d_files/zannotationtargettoggle.css" type="text/css">
和menu_td
的内容?
谢谢!
使用某些HTML解析器喜欢[Beautiful Soup](http://www.crummy.com/software/BeautifulSoup/) – nu11p01n73R
Whi您使用的是HTML解析库吗?你所要求的一切都是可行的,但每个图书馆都有不同的做法。 – abarnert
另外,您的HTML无效。在'html'的顶层只能使用0或1'head's和''body'; 'header'是一个进入体内的标签(通常包裹一个'h1'或类似的东西)。 (另外,它仅限于HTML5,并且您没有'doctype'声明,这意味着您的文件是HTML3。) – abarnert