【发布时间】:2021-11-06 13:23:02
【问题描述】:
我尝试抓取这个网站:https://www.magnatiles.com/products/page/1/
我得到了所有的元素:
products = response.xpath("//ul[@class='products']//ancestor::li")
不,我尝试查找 scrapy shell 中所有元素的价格 - 起初我尝试过:
>>> for p in products:
... p.xpath("//span[@class='price']//child::bdi/text()").get()
...
'134.99'
'134.99'
'134.99'
'134.99'
'134.99'
'134.99'
'134.99'
'134.99'
'134.99'
虽然我正在使用循环,但我似乎只能获得第一个条目
然后我尝试使用 css-selecting 并成功了:
>>> for p in products:
... p.css("span.price bdi::text").get()
...
'134.99'
'49.99'
'39.99'
'39.99'
'39.99'
'129.99'
'24.99'
'49.99'
'119.99'
为什么当我使用 xpath-selector 时这不起作用?
【问题讨论】: