首页 > 解决方案 > 使用 Css Selectors 或 xpath 在 scrapy 中提取数据

问题描述

我正在尝试从此链接获取价值:查看源:https ://www.otomoto.pl/ajax/misc/contact/multi_phone/6CLxXv/0/

想要的值是:42 677 17 00 我进入了scrapy shell,然后使用了:response.css('td.line-content::text').extract() 结果我得到了[]。

然后我尝试使用 xpath : response.xpath('/html/body/table/tbody/tr/td[2]/text()').extract() 结果我得到了 [] 。

为什么没有得到想要的结果,这里有什么问题吗?

标签: pythonxpathscrapy

解决方案


我希望这可以帮助你。

In [159]: response.xpath('//p/descendant-or-self::p[1]/text()').extract()[0].split(':')[1].split('}')[0]                                                                           
Out[159]: '"42 677 17 00"'

In [160]: print(response.xpath('//p/descendant-or-self::p[1]/text()').extract()[0].split(':')[1].split('}')[0])                                                                    
"42 677 17 00"

In [161]: print(response.xpath('//p/text()').extract()[0].split(':')[1].split('}')[0])                                                                                             
"42 677 17 00"

推荐阅读