在其他标签(外部)之后发生的HTML标签中刮擦特定的文本



我目前正在使用 scrapy for python,并试图从网站上检索具有与此类似的源代码的网站:

    <tr>
    <th scope="row">Date</th>
    <td>10/17/2001</td>
    <td></td>
    </tr>
    <tr>
    <th scope="row">Title</th>
    <td>Harry Potter</td>
    <td></td>
    </tr>
    <tr>
    <th scope="row">Author</th>
    <td>J.K. Rowling</td>
    <td></td>
    </tr>

harry Potter 是我希望检索的文本字符串。但是,我无法使用传统的XPath定界符,因为整个页面中都有此代码段的多个实例(仅在TH/TD标签之间使用不同的文本,就像上面的代码中所示)。所有TH标签都有示波器=" row"属性。

此外,我不能仅仅刮擦标签的x个实例,因为我刮擦的每个网页都有一个可变数量的实例。

是否有一种方法可以获得遵循特定文本(例如标题) scrapy ??

<<em> harry Potter )的文本(例如 harry Potter )。/div>

您可能想尝试:

//tr/th[@scope="row"][.="Title"]/following-sibling::td[1]/text()

尝试一下。通常,学会成为XPath。

/tr/td/text() 

最新更新