Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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
ValueError回溯(最后一次调用),python scrapy终端_Python_Loops_For Loop_Scrapy - Fatal编程技术网

ValueError回溯(最后一次调用),python scrapy终端

ValueError回溯(最后一次调用),python scrapy终端,python,loops,for-loop,scrapy,Python,Loops,For Loop,Scrapy,我在终端scrapy shell中运行此代码,它生成一个错误作为ValueError Traceback。要解压缩的值太多(应为2)。 例如:A品牌、AA类、BB类、CC类、DD类 B品牌,AA类,SS类,DD类,FF类 scrapy shell cats = response.xpath('//*[@class="leftNavCategoriesNodePopup"]') brands = response.xpath('//*[@class="leftNavCat

我在终端scrapy shell中运行此代码,它生成一个错误作为ValueError Traceback。要解压缩的值太多(应为2)。 例如:A品牌、AA类、BB类、CC类、DD类 B品牌,AA类,SS类,DD类,FF类

    scrapy shell 
    cats = response.xpath('//*[@class="leftNavCategoriesNodePopup"]')
    brands = response.xpath('//*[@class="leftNavCategoriesNode"]')
    for cat, brand in cats, brands:
        ca = cat.xpath('.//*[@class="leftNavCategoriesNodePopupColumn"]/a/@href').extract()
        br = brand.xpath('.//*[@class="leftNavCategoriesNodeName"]/text()').extract()
        print(ca)
        print(br)

ValueError Traceback(最近一次通话最后一次)

您确定Cat+品牌的长度相同吗?如果是,则用作:

for cat, brand in zip(cats, brands):
    #Your work goes here.

你确定猫+品牌的长度是一样的吗?如果是,则用作:

for cat, brand in zip(cats, brands):
    #Your work goes here.

不,它们的长度不一样。品牌总是单一的,但猫有多个项目。比如A品牌、AA类、BB类、CC类……那么你不能将它们循环在一起,你到底想要什么?您可能需要使用嵌套循环来实现结果。我想要这样的结果,但它不会生成输出。品牌和cats的长度相同——cats=response.xpath('/*[@class=“leftNavCategoriesNodePopup”]')品牌=response.xpath('/*[@class=“leftNavCategoriesNode”]')对于cat,cats中的品牌,品牌:ca=cat.xpath('./*[@class=“leftNavCategoriesNodePopupColumn”]/a/@href')。extract()br=brand.xpath('./*[@class=“leftNavCategoriesNodeName”]/text()).extract()用于ca中的c:yield{'br':br,'c':c}您能否向我们提供您正在抓取的链接,以便我们更好地了解数据复杂性和您的需要。答案是“对于cat,zip中的品牌(cat,品牌):”很好。谢谢,它们的长度不一样。品牌总是单一的,但是猫有多个项目。比如品牌A,猫AA,BB,CC。然后你不能将它们循环在一起。你到底想要什么?你可能需要嵌套循环来实现你的结果。我想要这样的东西,但它不会产生输出。机器人的长度h brands和cats是相同的——cats=response.xpath('/*[@class=“leftNavCategoriesNodePopup”]')brands=response.xpath('/*[@class=“leftNavCategoriesNodePopup”]')对于cat,cats中的brand,brands:ca=cat.xpath('./*[@class=“leftNavCategoriesNodePopupColumn”]/@a/@href')。extract()br=brand.xpath('./*[@class]=“leftNavCategoriesNodeName”]/text()).extract()for c in ca:yield{'br':br,'c':c}你能给我们提供你正在抓取的链接吗,这样我们就能更好地了解数据的复杂性和你的需要。答案“对于cat,zip中的品牌(cat,品牌):”很有效。谢谢