我想获取 HTML 文档中的特定行
行设置了以下属性:bgcolor 和 vallign
这是 HTML 表格的片段:
<table>
<tbody>
<tr bgcolor="#f01234" valign="top">
<!--- td's follow ... -->
</tr>
<tr bgcolor="#c01234" valign="top">
<!--- td's follow ... -->
</tr>
</tbody>
</table>
我快速浏览了BS's documentation .不清楚要传递什么参数给 findAll 以匹配我想要的行。
有谁知道 findAll() 需要什么 tp bass 来匹配我想要的行?
最佳答案
不要使用正则表达式来解析 html。使用 html 解析器
import lxml.html
doc = lxml.html.fromstring(your_html)
result = doc.xpath("//tr[(@bgcolor='#f01234' or @bgcolor='#c01234') "
"and @valign='top']")
print result
这将从您的 html 中提取所有匹配的 tr 元素,您可以对它们进行进一步的操作,例如更改文本、属性值、提取、进一步搜索...
必填链接:
关于python - 美汤问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4658686/