我正在尝试获取网页的产品评级。评级是在<bl-rating>:
<bl-rating>
为了得到产品的标题,我做到了:
'title':product.css('h2::text').get()
有没有办法使用类似的技术来获得评级(4.714...)?
hiz5n14c1#
Rating不是文本节点值,而是属性值。因此,您必须调用::attr(rating)而不是::text来获取字符串/文本形式的值。
::attr(rating)
::text
'rating':product.css('bl-rating::attr(rating)').get()
使用xpath表达式:
在元素数组/列表上迭代之后,后续的xpath表达式将是相对表达式(.//)
.//
'rating':product.xpath('.//bl-rating/@rating').get()
kmbjn2e32#
这是更多的任何人谁可能会找到这个答案在未来。您也可以使用xpath表示式来撷取rating值。例如:
xpath
rating
'rating': response.xpath('//bl-rating/@rating').get()
2条答案
按热度按时间hiz5n14c1#
Rating不是文本节点值,而是属性值。因此,您必须调用
::attr(rating)
而不是::text
来获取字符串/文本形式的值。使用xpath表达式:
在元素数组/列表上迭代之后,后续的xpath表达式将是相对表达式(
.//
)kmbjn2e32#
这是更多的任何人谁可能会找到这个答案在未来。
您也可以使用
xpath
表示式来撷取rating
值。例如: