我有幾個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