2012-12-28 3 views
2

나는 명확한 이유없이 갑자기 멈춘다는 점을 제외하고는 잘 돌아가는 것처럼 보이는 치료 거미 (this at gist)를 가지고있다. 멈출 때, 로그 파일의 마지막 비트는 다음과 같습니다명백하게 아무 이유없이 일찍 끝내는 거미 거미

2012-12-28 23:42:04+0000 [church] DEBUG: Crawled (200) <GET http://www.achurchnearyou.com/cogges-st-mary/> (referer: http://www.achurchnearyou.com/clifton-reynes-st-mary-the-virgin/) 
2012-12-28 23:42:04+0000 [church] DEBUG: Scraped from <200 http://www.achurchnearyou.com/cogges-st-mary/> 
    {'archdeaconry': u'OXFORD', 
    'archdeaconry_id': u'271', 
    'benefice': u'Cogges and S Leigh', 
    'benefice_id': u'27', 
    'deanery': u'WITNEY', 
    'deanery_id': u'27109', 
    'legal_name': u'Cogges', 
    'parish_id': u'270245'} 
2012-12-28 23:42:04+0000 [church] DEBUG: Redirecting (301) to <GET http://www.achurchnearyou.com//> from <GET http://www.achurchnearyou.com/venue.php?V=0083> 
2012-12-28 23:42:04+0000 [church] INFO: Closing spider (finished) 

거미 똑바로 URL을 리디렉션 후에는 종료를 결정할 수 있다는 어떤 이유가 있습니까? 흥미로운 점은 이와 같은 리디렉션을 잡아 내고 대신 새로운 요청을 생성하는 사용자 지정 DownloaderMiddleware가 있다는 것입니다 (기본적으로 일부 URL은 홈페이지로 리디렉션됩니다. 대신 해당 URL을 무시하고 다른 URL을 만들고 싶습니다.). (.. 초기 ID = 63로 시작 이유를 아직도 모른다)

답변

1

음 ..

당신의 코드를 보았다 (깨끗한 것)하지만 난 오류가 간단하다 생각

그러나 리버스 엔지니어링 너의 임무. simples 대답은 다음과 같습니다 :

  1. 'parish'ID 83이 존재하지 않거나 오류가 있습니다.

http://www.achurchnearyou.com/send_message.php?venue_id=82으로 이동하면 작동합니다. http://www.achurchnearyou.com/send_message.php?venue_id=83

본당의 이름 (83 이드 대 82 주)하려고하면 하지만 다른 기능이 동일한 경우 "사라지는".

리디렉션을받는 이유는 404 파일을 찾을 수 없다는 것을 보여주는 대신 CMS/웹 사이트가 홈 페이지로 리디렉션하기 때문입니다.