试图通过变量的xpath提取值,但未得到正确的结果

试图通过变量的xpath提取值,但未得到正确的结果,xpath,scrapy,Xpath,Scrapy,我试图通过xpath获得这个值 我正试图收集有关该房地产清单的信息,并试图获取一套公寓的面积。我已经使用了从调试器获得的xpath,但我总是得到一个空字符串或一个错误,表示无法将xpath选择器转换为字符串。不确定从何处获取165值 请,你能提供的任何信息,我已经看了好几天了 area = response.xpath('/html/body/div[4]/section/div/div/div[2]/div[1]/div[1]/div[2]/div[3]/table/tbody/tr[2]/

我试图通过xpath获得这个值

我正试图收集有关该房地产清单的信息,并试图获取一套公寓的面积。我已经使用了从调试器获得的xpath,但我总是得到一个空字符串或一个错误,表示无法将xpath选择器转换为字符串。不确定从何处获取165值

请,你能提供的任何信息,我已经看了好几天了

area = response.xpath('/html/body/div[4]/section/div/div/div[2]/div[1]/div[1]/div[2]/div[3]/table/tbody/tr[2]/td[2]/table/tbody/tr/td/strong')
print(area)

通过这个xpath,我期望得到165,但我什么也得不到。我刚刚得到这个
[]

尝试使用相对XPath而不是绝对XPath:

area = response.xpath('//td[@class="value"]/strong')
print(area)

尝试使用:

xpath = '//table.item/tr[contains(., "Area")]/td//text()'
/
相对路径选择

table.item
选择带有
item
类的表

tr[包含(,“区域”)]
检查所有具有文本“区域”的tr

td//text()
对于具有文本“区域”的
tr
选择该
tr
td
,然后
//text()
提取每个文本。大概是165。

这很有效,谢谢。但是现在我得到了一个有这种输入的列表。[u'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t105\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t']。我如何从中获得价值?每个单元上的列表长度不同,即我不能只做[0]区域或[1]区域。@joe,请尝试
获取区域中的值:print(value.strip())
这将贯穿整个列表。我只想提取值。area:area:area:area:area:area:area:area:area:area:234 area:area:area:area:area:area:area:我想提取234我尝试检查值是否为,但它们不是空的strings@joe尝试检查
if value.strip()
以忽略仅为一组空格/新行字符的值
area = response.xpath('//td[@class="value"]/strong')
print(area)
area = response.xpath('//th[.="Area (m²)"]/following-sibling::td/strong')
print(area)
xpath = '//table.item/tr[contains(., "Area")]/td//text()'