2013-04-09 2 views
0
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) 

Я получил сообщение об ошибке при попытке использовать только CrawlerProcess (настройки) из scrapy.conf.settings, похоже, существует несоответствие между тем, что говорит здесь SCRAPY док http://doc.scrapy.org/en/latest/topics/practices.htmlScrapy: ImportError: Настройки не может импортировать имя

Я следую за старой версией 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 
+0

Вы можете добавить ошибку на вопрос, пожалуйста? – Talvalin

+0

обновленный вопрос с ошибкой – KJW

ответ

3

Try:

from scrapy.settings import Settings 
Смежные вопросы