【问题标题】:Scrapy: ImportError: cannot import name SettingsScrapy:ImportError:无法导入名称设置
【发布时间】:2013-03-31 16:44:38
【问题描述】:
from scrapy import project, signals
from scrapy.crawler import Settings
from scrapy.crawler import CrawlerProcess
from scrapy.xlib.pydispatch import dispatcher
from multiprocessing.queues import Queue
import multiprocessing

class CrawlerWorker(multiprocessing.Process):

    def __init__(self, spider, result_queue):
        multiprocessing.Process.__init__(self)
        self.result_queue = result_queue

        self.crawler = Crawler(Settings())
        if not hasattr(project, 'crawler'):
            self.crawler.install()
        self.crawler.configure()

        self.items = []
        self.spider = spider
        dispatcher.connect(self._item_passed, signals.item_passed)

    def _item_passed(self, item):
        self.items.append(item)

    def run(self):
        self.crawler.crawl(self.spider)
        self.crawler.start()
        self.crawler.stop()
        self.result_queue.put(self.items)

我在尝试仅使用 scrapy.conf.settings 中的 CrawlerProcess(settings) 时遇到错误,scrapy doc 在这里所说的 http://doc.scrapy.org/en/latest/topics/practices.html

之间似乎存在差异

我正在关注一个较旧的 scrapy 版本,我正在尝试使其与 0.16 的 scrapy 一起使用。

这是我运行 python 脚本时的错误。

Traceback (most recent call last):
  File "server.py", line 5, in <module>
    from scraper import Scraper
  File "/home/me/spider/spider/scraper.py", line 6, in <module>
    from crawlerworker import CrawlerWorker
  File "/home/me/spider/spider/crawlerworker.py", line 2, in <module>
    from scrapy.crawler import Settings
ImportError: cannot import name Settings

【问题讨论】:

  • 能否将错误添加到问题中?
  • 更新的问题有错误

标签: python scrapy


【解决方案1】:

试试:

from scrapy.settings import Settings

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 2019-01-18
    • 1970-01-01
    相关资源
    最近更新 更多