python - Scrapy 蜘蛛无缘无故提早结束

标签 python screen-scraping scrapy

我有一个 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)

蜘蛛在重定向 URL 后可能会认为它已完成,是否有任何原因?有趣的是,我有一些自定义的 DownloaderMiddleware,它会捕获这样的重定向并创建一个新请求(基本上我尝试的一些 URL 会重定向到主页,我想忽略这些并创建一个不同的 URL) ).

最佳答案

嗯..

看了你的代码(看起来很干净)但我认为错误更简单(仍然不知道你为什么从初始 id = 63..开始)

但是逆向工程你的任务。简单的答案是:

  1. ID 为 83 的“教区”不存在或有错误。

如果你去http://www.achurchnearyou.com/send_message.php?venue_id=82有用。 但如果尝试 http://www.achurchnearyou.com/send_message.php?venue_id=83

(注意 id 82 和 83)

教区名称“消失”与其他功能相同。

您获得重定向的原因是 CMS/网站没有显示 404 文件未找到,而是将您重定向到主页。

关于python - Scrapy 蜘蛛无缘无故提早结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14077242/

相关文章:

python - Pandas 将数据子集应用到新数据框

ruby - 保存来自网站的所有图像文件

python - 无法从 scrapy 项目中将数据插入到 sql 表中

python - Scrapy项目提取范围问题

具有更新值的python for循环

python - 在具有 OpenMP 依赖项的 Mac 上安装 Lightgbm

php xpath 返回整个 html

python - 使用查询抓取网页

Python - 无法导入本地库

python - 如何在 Airflow 中使用 PythonVirtualenvOperator?