我目前正在使用 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()