This topic created in 4299 days ago, the information mentioned may be changed or developed.
公司需要采集一些新闻,站点非常多,就以1000个来算吧
准备用scrapy来做
我有几个方案:
1.每一个网站用一个scrapy项目来做
2.所有网站都用一个scrapy来做,items都写进去items.py中,每一个网站写一个spider蜘蛛
3.所有网站都用一个scrapy来做,items都写进去items.py中,所有网站写进一个spider蜘蛛
我个人倾向于第二个
另外用scrapyd和supervisor来做管理和监控
大家有什么更好的想法和建议吗?
7 replies • 2014-08-20 17:24:08 +08:00
 |
|
1
qloog Aug 19, 2014
items 是不也分开比较好,这样如果一个网站的出问题不影响其他的 也就是方案二,items 分开
坐等高人出高招
|
 |
|
2
binux Aug 19, 2014
用 pyspider 吧,一个页面把所有脚本管起来
|
 |
|
3
JoeShu Aug 19, 2014
把网站分类,每一类一个spider蜘蛛(可以实现基类spider控制流程),抽取url和抽取数据放到另外的模块,用redis来去重,item写到queue里然后再异步写入数据库。
|
 |
|
4
shoumu Aug 19, 2014
@ binux 我打算在项目中用你的pyspider,但是老师一直不要我用python,他想让我用Java,怎么说服他?
|
 |
|
5
binux Aug 19, 2014
@ shoumu -你说 pyspider 是百度spider的人写的(误)-. 其实这个开源版本没有实际运行环境,如果很急的话。。
|
 |
|
6
well Aug 19, 2014
如果考虑 java,可以使用 heritrix3,比 nutch 轻量级,你的需求需要对 heritrix 二次开发。
|
 |
|
7
zhanglp888 Aug 20, 2014
我以前就是干这个的,首先,你需要列表,如何分类,有的站快,有的站慢,任务如何排,如何检查是否采集成功了你都需要安排。 先不说用什么实现 我是三个主任务:1 抓数据,2,分析数据,把里面有用的东西存起来,3,检查是不是成功了 关于1 ,我是把所有需要抓的东西放在数据库里建立当天list,完成一个,就在往数据库里写入一条log 关于2,log 里完成的站,会开始分析数据 关于3,log 里采集完成的站的数据会被检查是不是完成了(比如是不是抓到内容,会不是会是广告),出问题,重新计入到当天任务中
每个站都有更新,你如何是检查这个是不是抓过了你需要考虑,内容重复的检查你可能需要第四个任务去办理
|