scrapy中的第二次和后续spider运行抛出“builtins.keyerror:”

jmp7cifd  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(258)

基于这篇文章的建议,在celery 任务中运行一个刮痧蜘蛛,我开发了我的蜘蛛。我第一次在新的python内核中运行它时,它运行得很好。下次我运行它时,它似乎运行了两次,并出现以下错误。第3次运行3次,错误相同,之后运行3次。
我很难弄清楚到底发生了什么。
我不太清楚是什么导致了这个错误-刮擦,台球或扭结。只有一个相关的建议是,这就是为什么我会在scrapy中出现关键错误?这也没有解决问题。
任何建议都将不胜感激。
蜘蛛.py:

import scrapy

class EmptySpider(scrapy.Spider):
   name = 'empty'

   def start_requests(self):
        yield scrapy.Request("http://en.m.wikipedia.org/")

   def parse(self, response):
      print("")
      print("")
      print("")
      print("ran empty spider once")

爬网.py

import scrapy
from scrapy.crawler import CrawlerProcess
from spider import EmptySpider
from billiard import Process

def run_spider_empty(log = False):
    crawler = CrawlerProcess(settings={
        'LOG_ENABLED': log,
    })
    crawler.crawl(EmptySpider)
    process = Process(target=crawler.start, stop_after_crawl=False)
    process.start()

端子输出
$run\u spider\u empty()
$
空了一次
$run\u spider\u empty()
$
空了一次
空了一次
未处理的错误
回溯(最近一次呼叫):
文件“/home//.local/share/virtualenvs/yyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/base.py”,第503行,在fireevent deferredlist(beforeresults).addcallback(self.\u continuefing)中
文件“/home//.local/share/virtualenvs/yyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/defer.py”,第339行,addcallback return self.addcallbacks(callback,callbackargs=args,callbackkeywords=kw)
文件“/home//.local/share/virtualenvs/yyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/defer.py”,第330行,addcallbacks self.\u runcallbacks()
文件“/home//.local/share/virtualenvs/yyyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/defer.py”,第662行,在\u runcallbacks current.result=callback(current.result,*args,**kw)中


文件“/home//.local/share/virtualenvs/yyyyyyy-3i5xwd2p/lib/python3.6/site-packages/twisted/internet/base.py”,第515行,可继续调用(*args,**kwargs)
文件“/home//.local/share/virtualenvs/yyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/base.py”,第763行,disconnectall selectables=self.removeall()
文件“/home//.local/share/virtualenvs/yyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/epollreactor.py”,第199行,在removeall[self.\u selectables[fd]中,用于self中的fd.\u reads],
文件“/home//.local/share/virtualenvs/yyyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/epollreactor.py”,第199行,在[self.\u selectables[fd]中,用于self.\u reads]中的fd,
builtins.keyerror:9
$run\u spider\u empty()
$
空了一次
空了一次
空了一次
未处理的错误
回溯(最近一次调用):file“/home//.local/share/virtualenvs/yyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/base.py”,第503行,在fireevent deferredlist(beforeresults).addcallback(self.\u continuefing)
文件“/home//.local/share/virtualenvs/yyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/defer.py”,第339行,addcallback return self.addcallbacks(callback,callbackargs=args,callbackkeywords=kw)
文件“/home//.local/share/virtualenvs/yyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/defer.py”,第330行,addcallbacks self.\u runcallbacks()
文件“/home//.local/share/virtualenvs/yyyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/defer.py”,第662行,在\u runcallbacks current.result=callback(current.result,*args,**kw)中


文件“/home//.local/share/virtualenvs/yyyyyyy-3i5xwd2p/lib/python3.6/site-packages/twisted/internet/base.py”,第515行,可继续调用(*args,**kwargs)
文件“/home//.local/share/virtualenvs/yyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/base.py”,第763行,disconnectall selectables=self.removeall()
文件“/home//.local/share/virtualenvs/yyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/epollreactor.py”,第199行,在removeall[self.\u selectables[fd]中,用于self中的fd.\u reads],
文件“/home//.local/share/virtualenvs/yyyyyyy-3i5xwd2p/lib/python3.6/site packages/twisted/internet/epollreactor.py”,第199行,在[self.\u selectables[fd]中,用于self.\u reads]中的fd,
builtins.keyerror:9
$

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题