Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
选择更多类时出现Scrapy xpath语法错误_Xpath_Scrapy - Fatal编程技术网

选择更多类时出现Scrapy xpath语法错误

选择更多类时出现Scrapy xpath语法错误,xpath,scrapy,Xpath,Scrapy,我想选择所有类别包括cl列表标题,sc-grid-col-s-12,sc-grid-col-l-7和sc-grid-col-xl-7的div。当我尝试在scrapy selectors示例中这样做时,我收到了SyntaxError:无效语法,我不知道为什么。我想我没有遗漏任何括号或引号。谁能解释一下问题出在哪里 In [30]: response.xpath('//div[contains(concat(' ', normalize-space(@class), ' '), ' cl-list-

我想选择所有类别包括
cl列表标题
sc-grid-col-s-12
sc-grid-col-l-7
sc-grid-col-xl-7
的div。当我尝试在scrapy selectors示例中这样做时,我收到了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
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'))
文件“”,第1行
xpath('//div[contains(concat('',normalize space(@class),''),'cl-list-header-titlesc-grid-col-s-12sc-grid-col-l-7sc-grid-col-xl-7'))
^
SyntaxError:无效语法

这是由于不一致的引号用法造成的。试着替换

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 ' )]")