我試圖用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的文本而不是表中更深層的任何東西?