2013-07-17 2 views
1

나는 내가 수행했다 크롤링을 다시 시작하려고 (그리고 나중에 다시 시도) 명령으로 :Srapy에서 크롤링을 재개 할 수없는 이유는 무엇입니까?

scrapy crawl somespider -s JOBDIR=crawls/somespider-1 

하지만 다시 시작하지 않는 대신 다음 로그 출력을 보여줍니다

2013-07-17 12:36:57+0530 [scrapy] INFO: Scrapy 0.16.5 started (bot: thesentientspider) 
2013-07-17 12:36:58+0530 [scrapy] DEBUG: Enabled extensions: AutoThrottle, LogStats, TelnetConsole, CloseSpider, WebService, CoreStats, SpiderState 
2013-07-17 12:36:59+0530 [scrapy] DEBUG: Enabled downloader middlewares: HttpAuthMiddleware, DownloadTimeoutMiddleware, RandomUserAgentMiddleWare, RetryMiddleware, DefaultHeadersMiddleware, RedirectMiddleware, CookiesMiddleware, HttpCompressionMiddleware, ChunkedTransferMiddleware, DownloaderStats 
2013-07-17 12:36:59+0530 [scrapy] DEBUG: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware 
2013-07-17 12:36:59+0530 [scrapy] DEBUG: Enabled item pipelines: MongoDBPipeline 
2013-07-17 12:36:59+0530 [zomatoSpider] INFO: Spider opened 
2013-07-17 12:36:59+0530 [zomatoSpider] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 
2013-07-17 12:36:59+0530 [scrapy] DEBUG: Telnet console listening on 0.0.0.0:6033 
2013-07-17 12:36:59+0530 [scrapy] DEBUG: Web service listening on 0.0.0.0:6090 
2013-07-17 12:36:59+0530 [zomatoSpider] DEBUG: Redirecting (301) to <GET http://www.zomato.com/hyderabad/restaurants> from <GET http://www.zomato.com/hyderabad/restaurants/> 
2013-07-17 12:37:00+0530 [zomatoSpider] DEBUG: Crawled (200) <GET http://www.zomato.com/hyderabad/restaurants> (referer: None) 
2013-07-17 12:37:00+0530 [zomatoSpider] DEBUG: slot: www.zomato.com | conc: 1 | delay: 1000 ms | latency: 283 ms | size:158792 bytes 
2013-07-17 12:37:00+0530 [scrapy] DEBUG: Next page URL: http://www.zomato.com/hyderabad/restaurants?page=2 
2013-07-17 12:37:00+0530 [zomatoSpider] INFO: Closing spider (finished) 
2013-07-17 12:37:00+0530 [zomatoSpider] INFO: Dumping Scrapy stats: 
    {'downloader/request_bytes': 619, 
    'downloader/request_count': 2, 
    'downloader/request_method_count/GET': 2, 
    'downloader/response_bytes': 23308, 
    'downloader/response_count': 2, 
    'downloader/response_status_count/200': 1, 
    'downloader/response_status_count/301': 1, 
    'finish_reason': 'finished', 
    'finish_time': datetime.datetime(2013, 7, 17, 7, 7, 0, 496989), 
    'log_count/DEBUG': 10, 
    'log_count/INFO': 4, 
    'request_depth_max': 1, 
    'response_received_count': 1, 
    'scheduler/dequeued': 2, 
    'scheduler/dequeued/disk': 2, 
    'scheduler/enqueued': 2, 
    'scheduler/enqueued/disk': 2, 
    'start_time': datetime.datetime(2013, 7, 17, 7, 6, 59, 463810)} 
2013-07-17 12:37:00+0530 [zomatoSpider] INFO: Spider closed (finished) 

을 이것은 내 스파이더 코드입니다 (요청이 실수하지 않으면 요청을 직렬화 할 수 있음). 설정 : http://pastebin.com/CUsf4sTJ 거미 : http://pastebin.com/at98Qhjh

무엇이 잘못 되었나요? 어떤 방식 으로든 나는 크롤링을 구제 할 수 있습니까?

+0

@alecxe : 어떤 아이디어입니까? – paari

+0

디렉토리 권한 문제 일 수 있으므로'crawls' 디렉토리에 777을 설정하십시오. – alecxe

+0

54-55 행의'parse_restaurant_details'에 들어 있습니까? –

답변

1

BaseSpider에서 상속 받았으며 단지 start_urls을 크롤링합니다. 당신은 CrawlSpider (scrapy.contrib.spiders.CrawlSpider)을 상속해야합니다.

+0

그래, 바로 소리 ... 나는 마지막 논리를 저장하고 마지막 시작 URL에서 다시 시작해야한다는 논리를 추가해야했습니다. – paari

관련 문제