使用lxml和xpath解析python中的选择性表行

时间:2017-06-07 23:47:53

标签: python xpath python-requests lxml

下面的

是我要解析的html文件的结构

<tr data-mod-primary="true">
    <td>'some text'
<tr>
    <td>'some text'
<tr>
    <td>'some text'
<tr data-mod-primary="true">
    <td>'some text'

我感兴趣的是只解析<tr data-mod-primary="true">下的文字而忽略其他<tr>

我通过<tr>获取了所有.xpath('//tr/td/text()')文字,但这不是我想要的。我在研究解决方案之后尝试了以下代码:

.xpath('//tr[contains(@data-mod-primary="true",None)]/td/text()')

但这也让我得到<tr>所有与.xpath('//tr/td/text()')基本相同的结果的文字

感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用@attr=value提取特定的tr标记:

//tr[@data-mod-primary='true']/td/text()

或者,如果您使用contains,则类似于:

//tr[contains(@data-mod-primary, 'true')]/td/text()