Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/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
Python 2.7 如何使用scrapy在response.xpath中连接两个查询字符串_Python 2.7_Xpath_Scrapy - Fatal编程技术网

Python 2.7 如何使用scrapy在response.xpath中连接两个查询字符串

Python 2.7 如何使用scrapy在response.xpath中连接两个查询字符串,python-2.7,xpath,scrapy,Python 2.7,Xpath,Scrapy,我必须在cat1和act2上执行相同的操作,我需要将两个查询字符串传递给同一个Xpath提取器,或者组合两个查询字符串 cat1 = response.xpath("//*[@id='linkControl']") cat2=response.xpath("//*[@id='form1']/div[2]/div[2]/div[2]/div/div[*]/a") 我建议您使用CSS选择器而不是XPath cat1 = response.xpath("#linkControl") cat2=re

我必须在cat1和act2上执行相同的操作,我需要将两个查询字符串传递给同一个Xpath提取器,或者组合两个查询字符串

cat1 = response.xpath("//*[@id='linkControl']")
cat2=response.xpath("//*[@id='form1']/div[2]/div[2]/div[2]/div/div[*]/a") 

我建议您使用CSS选择器而不是XPath

cat1 = response.xpath("#linkControl")
cat2=response.xpath("#form1 div::nth-child(2) div::nth-child(2) div::nth-child(2) div div a") 
要将两者结合使用,请使用
(commma)

XPath有(
|
)可以使用:

xpath1 = "//*[@id='linkControl']"
xpath2 = "//*[@id='form1']/div[2]/div[2]/div[2]/div/div[*]/a"
result = response.xpath(xpath1 + " | " + xpath2)

您可以在regexppost HTML中使用或运算符“|”code@stamaimer我应该用lke这个吗??xpath(“/*[@id='linkControl']”;“/*[@id='form1']/div[2]/div[2]/div[2]/div/div[*]/a”)在firebug中测试时,它工作正常,但在零碎的代码中,它只提取对应于xpath1的内容。有什么建议吗??
xpath1 = "//*[@id='linkControl']"
xpath2 = "//*[@id='form1']/div[2]/div[2]/div[2]/div/div[*]/a"
result = response.xpath(xpath1 + " | " + xpath2)