我知道事后可以用字符串格式化等方式完成此操作,但是我有一个变量,其选择器结尾为:
.css("::text").extract()
哪个返回恰好大小写的数据。我很好奇我是否可以做类似的事情:
.css("::text-transform: capitalize").extract()
从此处使用text-transform
方法:https://developer.mozilla.org/en-US/docs/Web/CSS/text-transform
我尝试使用语法,但通常会遇到以下错误:
cssselect.parser.SelectorSyntaxError: Got pseudo-element ::text-transform not at the end of a selector
我对css不太了解,但是我看到有很多格式化方法,等等。因此,更一般地说,在一个草率的选择器中使用其中任何一种方法是否有效?
答案 0 :(得分:0)
您无法使用scrapy的.css
方法执行您想要的操作,只能在其中指定一个选择器,您想要的是文本转换。
取而代之的是,在检索字符串后在python中将其大写:
extracted = [t.capitalize() for t in response.css("::text").extract()]
详细信息:https://www.w3schools.com/python/ref_string_capitalize.asp