如何用 scrapy 同时监控并采集 1000 个网站?

2014-08-19 13:59:41 +08:00
 pc10201
公司需要采集一些新闻,站点非常多,就以1000个来算吧
准备用scrapy来做
我有几个方案:
1.每一个网站用一个scrapy项目来做
2.所有网站都用一个scrapy来做,items都写进去items.py中,每一个网站写一个spider蜘蛛
3.所有网站都用一个scrapy来做,items都写进去items.py中,所有网站写进一个spider蜘蛛
我个人倾向于第二个
另外用scrapyd和supervisor来做管理和监控

大家有什么更好的想法和建议吗?
11929 次点击
所在节点    Python
7 条回复
qloog
2014-08-19 15:53:28 +08:00
items 是不也分开比较好,这样如果一个网站的出问题不影响其他的
也就是方案二,items 分开

坐等高人出高招
binux
2014-08-19 16:02:47 +08:00
用 pyspider 吧,一个页面把所有脚本管起来
JoeShu
2014-08-19 16:06:02 +08:00
把网站分类,每一类一个spider蜘蛛(可以实现基类spider控制流程),抽取url和抽取数据放到另外的模块,用redis来去重,item写到queue里然后再异步写入数据库。
shoumu
2014-08-19 16:06:08 +08:00
@binux 我打算在项目中用你的pyspider,但是老师一直不要我用python,他想让我用Java,怎么说服他?
binux
2014-08-19 16:11:49 +08:00
@shoumu -你说 pyspider 是百度spider的人写的(误)-. 其实这个开源版本没有实际运行环境,如果很急的话。。
well
2014-08-19 19:20:36 +08:00
如果考虑 java,可以使用 heritrix3,比 nutch 轻量级,你的需求需要对 heritrix 二次开发。
zhanglp888
2014-08-20 17:24:08 +08:00
我以前就是干这个的,首先,你需要列表,如何分类,有的站快,有的站慢,任务如何排,如何检查是否采集成功了你都需要安排。
先不说用什么实现
我是三个主任务:1 抓数据,2,分析数据,把里面有用的东西存起来,3,检查是不是成功了
关于1 ,我是把所有需要抓的东西放在数据库里建立当天list,完成一个,就在往数据库里写入一条log
关于2,log 里完成的站,会开始分析数据
关于3,log 里采集完成的站的数据会被检查是不是完成了(比如是不是抓到内容,会不是会是广告),出问题,重新计入到当天任务中

每个站都有更新,你如何是检查这个是不是抓过了你需要考虑,内容重复的检查你可能需要第四个任务去办理

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/128729

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX