Scrapy - shell 在使用 xpath 获取 <td> 元素的 data/value 时总是 returns '1'
Scrapy - shell always returns '1' when using xpath to get data/value of <td> element
正在尝试从 scrapy 中的网页获取价值 shell。 html代码如下
<tbody>
<tr...>
<th...>
<td class="inventory" data-stat="coupes">4</td>
<td class="inventory" data-stat="sedans">2</td>
我目前在终端看到的内容
>>> response.xpath('//tbody/tr/td/@data-stat="coupes"').extract()
['1']
>>> response.xpath('//tbody/tr/td/@data-stat="sedans"').extract()
['1']
>>>
无法弄清楚为什么当值(4 和 2)明显不同时我得到相同的响应?返回的“1”是否等同于 'True'?我不想使用索引(data-stat[0] 或 [1]),因为我认为使用名称“coupes”或“sedans”会更具体,但我无法理解这一点。
你的xpath是错误的。应该像下面这样
response.xpath('//tbody/tr/td[@data-stat="coupes"]/text()').extract()
正在尝试从 scrapy 中的网页获取价值 shell。 html代码如下
<tbody>
<tr...>
<th...>
<td class="inventory" data-stat="coupes">4</td>
<td class="inventory" data-stat="sedans">2</td>
我目前在终端看到的内容
>>> response.xpath('//tbody/tr/td/@data-stat="coupes"').extract()
['1']
>>> response.xpath('//tbody/tr/td/@data-stat="sedans"').extract()
['1']
>>>
无法弄清楚为什么当值(4 和 2)明显不同时我得到相同的响应?返回的“1”是否等同于 'True'?我不想使用索引(data-stat[0] 或 [1]),因为我认为使用名称“coupes”或“sedans”会更具体,但我无法理解这一点。
你的xpath是错误的。应该像下面这样
response.xpath('//tbody/tr/td[@data-stat="coupes"]/text()').extract()