Skip to main content
 首页 » 编程设计

python之美汤问题

2025年05月04日10jillzhang

我想获取 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 元素,您可以对它们进行进一步的操作,例如更改文本、属性值、提取、进一步搜索...

必填链接:

RegEx match open tags except XHTML self-contained tags