2014-10-20 2 views
0

설정AttributeError는 'INT'개체가 어떤 속성 'rindex'

나는 웹 사이트를 긁어 내가 실행 한 elasticsearch 인스턴스에서 결과를 저장하기 위해 Scrapy 0.24.4 및 Scrapy-ElasticSearch 0.5을 사용하고이 없습니다.

나는 here을 문서화 한 사소한 수정과 함께 이것을 모두 설정하기 위해 this blog post을 사용했습니다.

나는 웹 사이트를 긁어 다음 명령을 실행하면

BOT_NAME = 'blah' 

SPIDER_MODULES = ['blah.spiders'] 
NEWSPIDER_MODULE = 'blah.spiders' 

ITEM_PIPELINES = [ 
    'scrapyelasticsearch.scrapyelasticsearch.ElasticSearchPipeline', 100 
] 

ELASTICSEARCH_SERVER = 'localhost' 
ELASTICSEARCH_PORT = 9200 
ELASTICSEARCH_INDEX = 'scrapy' 
ELASTICSEARCH_TYPE = 'items' 

문제가

settings.py : 주석 ITEM_PIPELINES와

scrapy crawl wiki -o wiki.json 

이 - 후 제대로 작동 모든 결과를 wiki.json 파일로 내 보냅니다. -

ITEM_PIPELINES은 주석 (예를 들어, elasticsearch하는 배관 결과를 사용하도록 설정)으로

나는 다음과 같은 오류 얻을 :

File "/usr/local/lib/python2.7/dist-packages/scrapy/utils/misc.py", line 34, in load_object 
    dot = path.rindex('.') 
AttributeError: 'int' object has no attribute 'rindex' 

노트

  • 월 또는 관련되지 않을 수 있습니다. 실제로 ElasticSearchPipeline python 파일의 로컬 복사본을 변경하여 을 주석 처리하여 uniq_id를 사용하여 인덱싱하는 시점에 구문 오류를 일으켰습니다.

도움을 주시면 감사하겠습니다.

답변

0

어리 석고 어리석은 어리 석다. 구문 오류였습니다! 그것은 사전에 할 필요가 있도록 ITEM_PIPELINES 목록을 갖는

는 사용되지 않지만 사전에 변환에 나의 시도는 정말 엉망이었다

올바른 구문이 아니다
ITEM_PIPELINES = [ 
    'scrapyelasticsearch.scrapyelasticsearch.ElasticSearchPipeline', 100 
] 

. 다음과 같아야합니다.

ITEM_PIPELINES = { 
    'scrapyelasticsearch.scrapyelasticsearch.ElasticSearchPipeline': 100 
} 
관련 문제