我有一只scrapy蜘蛛(代码在这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)
有没有理由让蜘蛛在重定向网址后决定直接完成?有趣的是,我有一些自定义DownloaderMiddleware,它将捕获这样的重定向并创建一个新请求(基本上我正在尝试的一些URL将重定向到主页,我想忽略这些并创建一个不同的URL而不是)。
答案 0 :(得分:1)
嗯..
看着你的代码(似乎很干净),但我认为错误更简单(仍然不知道为什么你开始使用初始id = 63 ..)
但是逆向工程你的任务。简单的答案是:
如果你去http://www.achurchnearyou.com/send_message.php?venue_id=82就可以了。 但如果尝试http://www.achurchnearyou.com/send_message.php?venue_id=83
(注意id 82 vs 83)
如果其他功能,教区的名称“消失”也是一样。您获得重定向的原因是,CMS /网站不会显示未找到的404文件,而是将您重定向到主页。