2016-07-11 2 views
0

모두를 사용하여 맥 OS 없음 모듈 이름이 거미는 ImportError를 : 브루 설치 패키지

나는 업데이트 된 기본 시스템 패키지 scrapy.org에서 다음 단계를 따라 scrapy, 여기 거미 구축을위한 오픈 소스 프레임 워크를 설치 : /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 내가이 명령을 실행하려고했으나 D :

    1. http://doc.scrapy.org/en/1.1/intro/install.html 나는 패키지를 hombebrew 설치 명령을 실행 터미널
    2. 에서 xcode-select --install 명령을 실행 brew install python
    3. :
    4. source ~/.bashrc 내가 명령을 실행 : echo "export PATH=/usr/local/bin:/usr/local/sbin:$PATH" >> ~/.bashrc scrapy의 설치 방향 당
    5. , 나는 변화가 걸릴했다 장소 확인하려고 : 내가 제대로 업데이트 한 경우, 내가 복사하고이 정확히 붙여 알고 on't 명령을 실행 : pip install Scrapy

    내가 업데이트 패키지를 설치하려고, 위의 명령에 매우 명확하고 싶었 :

  • brew update; brew upgrade python 명령을 실행했습니다. 나는 프로젝트를 만들고, 항목을 정의하고, 내 첫 스파이더를 만드는 지침을 따르기 시작했다.

    나는 아래의 오류 메시지가 출력과 오류 메시지

    Romans-MBP:tutorial Roman$ scrapy crawl dmoz 
    Traceback (most recent call last): 
        File "/usr/local/bin/scrapy", line 11, in <module> 
        sys.exit(execute()) 
        File "/usr/local/lib/python2.7/site-packages/scrapy/cmdline.py", line 141, in execute 
        cmd.crawler_process = CrawlerProcess(settings) 
        File "/usr/local/lib/python2.7/site-packages/scrapy/crawler.py", line 238, in __init__ 
    super(CrawlerProcess, self).__init__(settings) 
        File "/usr/local/lib/python2.7/site-packages/scrapy/crawler.py", line 129, in __init__ 
    self.spider_loader = _get_spider_loader(settings) 
        File "/usr/local/lib/python2.7/site-packages/scrapy/crawler.py", line 325, in _get_spider_loader 
    return loader_cls.from_settings(settings.frozencopy()) 
        File "/usr/local/lib/python2.7/site-packages/scrapy/spiderloader.py", line 33, in from_settings 
    return cls(settings) 
        File "/usr/local/lib/python2.7/site-packages/scrapy/spiderloader.py", line 20, in __init__ 
    self._load_all_spiders() 
        File "/usr/local/lib/python2.7/site-packages/scrapy/spiderloader.py", line 28, in _load_all_spiders 
    for module in walk_modules(name): 
        File "/usr/local/lib/python2.7/site-packages/scrapy/utils/misc.py", line 63, in walk_modules 
    mod = import_module(path) 
        File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    ImportError: No module named spiders 
    Romans-MBP:tutorial Roman$ 
    
  • 답변

    0

    확인 scrapy/tutorial/tutorial/spiders/[your_spider].py에서와

    크롤링 get 명령을 명령 scrapy crawl dmoz을 실행 마지막으로 거미의 이름, 즉해야 scrapy crawl 명령으로 실행하십시오. 아래의 예에서, 이름은 dmozdirectory하고 실행 명령은 scrapy crawl dmozdirectory

    예입니다 : scrapy/tutorial/

    +0

    에, 그 명령을 실행할 때 또한

    class DmozSpider(scrapy.Spider): name = "dmozdirectory" allowed_domains = ["dmoz.org"] 

    , 당신은 프로젝트의 루트 디렉토리에 있어야합니다 답변 해 주셔서 감사합니다. 내 코드를 살펴보고 명령의 이름이 스파이더의 "name ="dmoz "와 같은 값인지 확인하십시오. class DmozSpider (scrapy.Spider) : name ="dmoz " allowed_domains = [ "dmoz.org"]를 **/scrapy/튜토리얼의 내용/** 디렉토리 __init__.py \t items.py \t settings.py \t 거미 __init __. PYC \t pipelines.py \t settings.pyc 이 명령입니다 치료 크롤링 dmoz "dmoz"에서 "dmozdirectory"및 "dmoz_spider"로 이름을 변경했습니다. 거미의 이름 필드 및 명령 –

    +0

    프로젝트의 이름이 scrapy입니까? –

    +0

    네, 그렇게 믿습니다. * .py 파일을 확인하고 편집해야하며 각 파일에 대해 import 명령이 다음과 같이 표시됩니다. 또한/scrapy/tutorial/디렉토리에 scrapy.cfg 파일이 있습니다. ** 항목평 내용 ** 수입 scrapy 클래스 DmozItem (scrapy.Item) : 제목 = scrapy.Field() 링크 = scrapy.Field() DESC는 = scrapy.Field() ** dmoz.py 내용 * * 수입 scrapy 클래스 DmozSpider (scrapy.Spider) NAME = "DMOZ" 의 allowed_domains = "dmoz.org"]의 start_urls = –