这些天我很想学习scrapy
。我正在尝试使用width
从div
中选择CSS Selector
,但这对我来说是不可能的。我尝试了很多方法来找到解决方案,但每次我都喜欢用xpath
代替css
选择器来解决问题。
HTML
代码为:
<div class="stars-container">
<div class="stars" style="width: 60.606%"> Rating</div>
</div>
从response
获取scrapy shell URL
后,我尝试从上面的width
中选择 html
:
response.css('.stars-container .stars ::attr(width)')
response.css('.stars-container ::attr(width)')
如果有人帮我解决这个问题,我很高兴能够轻松地学习它。 谢谢
答案 0 :(得分:2)
如果你想获得宽度值并坚持使用纯CSS解决方案,那么你可以去:
response.css('.stars-container .stars::attr(style)').re_first('width:\s*(\d+\.\d+)\s*%')
答案 1 :(得分:0)
这对你有帮助。
response.css(".stars-container .stars").xpath('@style').extract()
答案 2 :(得分:0)
以下是如何获得宽度。
response.css('.stars-container .stars ::attr(style)').re_first(r'width:\s+(\d+.\d+)')
也熟悉python regx liberary,你可以在Python re
找到文档