我有一个mongodb的数据库.
而有一只爬虫,每天往这个数据库里面抓内容加进去....
而另外一只爬虫,是负责给这些数据打标签,就是抓进去的数据,判断是垃圾数据,就打上垃圾,判断是好的数据,就打上优质 ,类似这种思路
而我现在有另外3-4个网站,网站的文章数据都是来自这个数据库,目的就是发现这个数据库只要有新的并且标签带有优质的数据,就马上发布到网站上...
那么我在设计爬虫的时候,如何做到最高效?
就是边采集的时候,边打标签,边发布数据??
我现在基本就是这样的流程:
for 采集数据 in 采集数据集合: 给采集数据打上标签 if 优质数据 发布到网站上
不知道这样的伪代码大家看得懂吗?
但是用python 是线性执行的.可能效率比较差( 因为打标签 和发布的网站时间比较慢 )
要怎么设计呢?
有点乱,能看得懂的应该都是比较懂我的人
付费偷看金额在0.1-10元之间
有问题可以继续讨论。
订阅了
"good_content"
的系统收到该事件,就会自动更新内容。具体是用什么来实现发布订阅模式,方法有很多。如果是在一个项目中,自己写代码实现一个就行了;如果不是一个项目,就用消息队列,或者Redis也有提供发布订阅的功能(据说不太好用,哈哈~)。发布订阅模式,有优质内容就发布一个
"good_content"
事件,然后其他的网站订阅这个事件,这样不管你有多少网站,整个系统都是松耦合的。首先,不用两只爬虫,一只爬虫爬去内容的时候,就可以分辨出是优质还是劣质内容,是的话,就直接发布
"good_content"
事件,你的爬虫系统就这么简单。高估了自己的数据量,低估了python性能。
不用设计,花半天看scrapy文档,官方例子流程就符合你了。
一周热门 更多>