使用Beautifutsoup更新HTML
with open("test.html") as fp:
soup = BeautifulSoup(fp, "html.parser")
table = soup.find("table", {"class": "wrapped relative-table confluenceTable"})
for row in table.findAll("tr"):
cells = row.find(text=re.compile("CTX.*"))
print(cells)
cell2s = row.find(text=re.compile("ES.*"))
cell2s.string.replace_with("ABC50")
以下是HTML代码。顶一个是表标签,然后是车身标签,然后有2个TR标签。我必须更新两个TD标签的ESW2值。
<table class="wrapped relative-table confluenceTable" style="width: <tbody> <tr>
<td class="confluenceTd">angular/cli</td>
<td class="confluenceTd"><a href="http://angular.io" class="external-link" rel="nofollow">angular.io</a></td>
<td colspan="1" class="confluenceTd"><br></td>
<td class="confluenceTd">FOSS</td>
<td colspan="1" class="confluenceTd">'11.2.14</td>
<td class="confluenceTd">Bazaar + EVMS 22.0 </td>
<td class="confluenceTd"><a href="https://github.com" class="external-link" rel="nofollow">14/CTX1026329</a> R1A</td>
<td colspan="1" class="confluenceTd"><br></td>
<td class="confluenceTd">ESW2</td>
<td colspan="1" class="confluenceTd"><br></td>
<td class="confluenceTd"><br></td>
</tr>
<tr>
<td class="confluenceTd">angular/cli</td>
<td class="confluenceTd"><a href="http://angular.io" class="external-link" rel="nofollow">angular.io</a></td>
<td colspan="1" class="confluenceTd"><br></td>
<td class="confluenceTd">FOSS</td>
<td colspan="1" class="confluenceTd">'11.2.14</td>
<td class="confluenceTd">Bazaar + EVMS 22.0 </td>
<td class="confluenceTd"><a href="https://bazaar.internal.ericsson.com/b-view-component.php?componentid=988161" class="external-link" rel="nofollow">14/CTX1026329</a> R1A</td>
<td colspan="1" class="confluenceTd"><br></td>
<td class="confluenceTd">ESW2</td>
<td colspan="1" class="confluenceTd"><br></td>
</tr>
</tbody>
with open("test.html") as fp:
soup = BeautifulSoup(fp, "html.parser")
table = soup.find("table", {"class": "wrapped relative-table confluenceTable"})
for row in table.findAll("tr"):
cells = row.find(text=re.compile("CTX.*"))
print(cells)
cell2s = row.find(text=re.compile("ES.*"))
cell2s.string.replace_with("ABC50")
Below is the Html code. Top one is table tag , then body tag comes and afterwards there are 2 tr tags. I have to update ESW2 value of both td tags.
<table class="wrapped relative-table confluenceTable" style="width: <tbody> <tr>
<td class="confluenceTd">angular/cli</td>
<td class="confluenceTd"><a href="http://angular.io" class="external-link" rel="nofollow">angular.io</a></td>
<td colspan="1" class="confluenceTd"><br></td>
<td class="confluenceTd">FOSS</td>
<td colspan="1" class="confluenceTd">'11.2.14</td>
<td class="confluenceTd">Bazaar + EVMS 22.0 </td>
<td class="confluenceTd"><a href="https://github.com" class="external-link" rel="nofollow">14/CTX1026329</a> R1A</td>
<td colspan="1" class="confluenceTd"><br></td>
<td class="confluenceTd">ESW2</td>
<td colspan="1" class="confluenceTd"><br></td>
<td class="confluenceTd"><br></td>
</tr>
<tr>
<td class="confluenceTd">angular/cli</td>
<td class="confluenceTd"><a href="http://angular.io" class="external-link" rel="nofollow">angular.io</a></td>
<td colspan="1" class="confluenceTd"><br></td>
<td class="confluenceTd">FOSS</td>
<td colspan="1" class="confluenceTd">'11.2.14</td>
<td class="confluenceTd">Bazaar + EVMS 22.0 </td>
<td class="confluenceTd"><a href="https://bazaar.internal.ericsson.com/b-view-component.php?componentid=988161" class="external-link" rel="nofollow">14/CTX1026329</a> R1A</td>
<td colspan="1" class="confluenceTd"><br></td>
<td class="confluenceTd">ESW2</td>
<td colspan="1" class="confluenceTd"><br></td>
</tr>
</tbody>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
.find_all()
查找具有您“ es。*”
的所有&lt; td&gt;
。然后使用.string.replace_with()
输出:
Use
.find_all()
to find all the<td>
tags that have your"ES.*"
. Then use.string.replace_with()
Output: