我想选择所有包含cl-list-header-title
,sc-grid-col-s-12
,sc-grid-col-l-7
和sc-grid-col-xl-7
等级的div。当我尝试像在scrapy选择器示例中那样做时,我收到SyntaxError:语法无效,我不明白为什么。我想我没有遗漏任何括号或引号。有谁可以解释问题出在哪里?
In [30]: response.xpath('//div[contains(concat(' ', normalize-space(@class), ' '), ' cl-list-header-titlesc-grid-col-s-12sc-grid-col-l-7sc-grid-col-xl-7 ' )]')
File "<ipython-input-30-c35a162c1f9e>", line 1
response.xpath('//div[contains(concat(' ', normalize-space(@class), ' '), ' cl-list-header-titlesc-grid-col-s-12sc-grid-col-l-7sc-grid-col-xl-7 ' )]')
^
SyntaxError: invalid syntax
答案 0 :(得分:3)
这是由于报价使用不一致。尝试替换
response.xpath('//div[contains(concat(' ', normalize-space(@class), ' '), ' cl-list-header-titlesc-grid-col-s-12sc-grid-col-l-7sc-grid-col-xl-7 ' )]')
带
response.xpath("//div[contains(concat(' ', normalize-space(@class), ' '), ' cl-list-header-titlesc-grid-col-s-12sc-grid-col-l-7sc-grid-col-xl-7 ' )]")