我试图在不使用任何外部模块的情况下使用Python解析html文件。原因是我正在触发jenkins工作并遇到lxml和BeautifulSoup的一些导入问题(尝试解决它并且我认为 某个地方,我正在做工程以完成我的工作)
输入:
<tr class="test">
<td class="test">
<a href="a.html">BA</a>
</td>
<td class="duration">
0.000s
</td>
<td class="zero number">0</td>
<td class="zero number">0</td>
<td class="zero number">0</td>
<td class="passRate">
N/A
</td>
</tr>
<tr class="test">
<td class="test">
<a href="o.html">Aa</a>
</td>
<td class="duration">
0.000s
</td>
<td class="zero number">0</td>
<td class="zero number">0</td>
<td class="zero number">0</td>
<td class="passRate">
N/A
</td>
</tr>
<tr class="test">
<td class="test">
<a href="g.html">GG</a>
</td>
<td class="duration">
0.390s
</td>
<td class="zero number">0</td>
<td class="zero number">0</td>
<td class="zero number">0</td>
<td class="passRate">
N/A
</td>
</tr>
<tr class="suite">
<td colspan="2" class="totalLabel">Total</td>
<td class="zero number">271</td>
<td class="zero number">0</td>
<td class="fail number">3</td>
<td class="zero number">4</td>
<td class="passRate suite">
98%
</td>
</tr>
输出:
我想把特定的tr标签块与类#34;套件&#34; (在最后检查)然后拉出所有td标签的值并分配。
~~~~~~~~~~~~~~~~~~~~~~~~~~
Eg. The output will be:
271
0
3
4
98%
最后我想将这些值分配给变量...所以我的最终输出将是: A = 271 B = 0 C = 3 D = 4 D = 98%
(新行中的所有变量)
~~~~~~~~~~~~~~~~~~~~~~~~~~ 这是我尝试使用lxml:
tree = parse(HTML_FILE)
tds = tree.xpath("//tr[@class='suite']//td/text()")
val = map(str.strip, tds)
这在本地运行,但我真的想做一些没有任何外部依赖的事情。我应该使用strip()或使用os.path.isFile()打开一个文件。我可能不正确,但建议/告诉我解决这个问题的方法。
**我能想到的最困难的部分是&#34;在我输入的最后一个tr标签块中,几个sub td标签有class = 0 number&#34;所以你怎么解决它。
**我能想到的方法是取出那个块,然后删除除内容之外的所有标签,然后逐行分配。但是,我不擅长正则表达式。
这不是Parse HTML file using Python without external module的重复...这是一个不同的输入和不同的输出预期问题。