我试图用Scrapy刮一张表,并且遇到了一个问题,由于表的结构,我得到了太多的子节点。Scrapy抓取元素太深
举例来说,有在TD一台后面的表,有点像这样:
<table>
<tr>
<td>
Text I want
</td>
<td>
<table>
<tr>
<td>
Text I do not want
</td>
</tr>
</td>
</table>
所以,当我告诉它抓住:
td[1]/text()
它抓住文本在每个tr的第一个td中 - 这正是我想要的 - 但有些tds有自己的表!不要问我为什么他们这样建造这个东西,或者为什么没有比表级本身更深层次的类或id,但事实就是这样。所以我也在表格中的第一个td中返回文本...这是在我不想要的后期tds中(还)。
如果没有ID或类,我怎么能更具体地关注只需要第一个td的文本而不是表中更深层的任何东西?