我尝试用scrapy获取一个数据属性的值:
response.css('.product-header-top div::attr("data-background-image")').get()
但是我没有得到data-background-image的值,Python抛出了一个错误:
产生选择器语法错误(cssselect.parser.选择器语法错误:获得的伪元素::FunctionalPseudoElement[::attr(['data-background-image'])]不在选择器的末尾
以下是网页的相关HTML代码:<div data-background-image="/images/image.jpg" style="background-image: url("/images/image.jpg");"></div>
谢谢
UPDATEF.Hoque是正确的,它工作正常。网站是动态的,用JS渲染数据背景图像。所以::attr(“data-...”)工作正常。谢谢你的帮助@F.Hoque!
1条答案
按热度按时间dgtucam11#
您的CSS选择工作正常。有一个拼写错误
)
;把它拿开。经Scrapy Shell验证: