首页 新闻 搜索 专区 学院

python爬虫任务的处理

0
悬赏园豆:50 [已解决问题] 解决于 2021-06-08 01:06

如果爬虫程序正在运行,又有了新的任务(url),并且优先爬取这个新任务怎么搞啊?
原理是啥?

心无垠的主页 心无垠 | 初学一级 | 园豆:157
提问于:2021-05-02 12:30

对,使用队列就行了,可以往出口插入任务,那下一个就是刚刚手动push进去的任务了。

心无垠 5个月前
< >
分享
最佳答案
0

使用队列的形式

收获园豆:50
临冬城城主 | 菜鸟二级 |园豆:261 | 2021-05-05 00:18

机智!
单个队列,后进先出吗?
或者2个集合,定时检查集合2是否有数据,有的话就优先执行

过千帆 | 园豆:204 (菜鸟二级) | 2021-05-07 11:18

@过千帆: 后进先出那不是栈吗?消息可能会积压,正常消费可以左进右出或者右进左出,假如想提高某一消息的最高优先级,就塞进出口那里就行了

临冬城城主 | 园豆:261 (菜鸟二级) | 2021-05-07 12:06

@临冬城城主: 塞 出口 的话就是插入了,性能和效率会比较低吧。
例如List<T>.Insert:重新分配内部数组,并将现有元素复制到新数组,然后再添加新元素

过千帆 | 园豆:204 (菜鸟二级) | 2021-05-07 12:50

@过千帆: 那还可以用发布订阅模式

临冬城城主 | 园豆:261 (菜鸟二级) | 2021-05-07 13:40

@临冬城城主: 发布订阅 是顺序处理的吧,其他消息不能排到前面来吧?

过千帆 | 园豆:204 (菜鸟二级) | 2021-05-07 14:04

@过千帆: 可以试试订阅多个啊,比如一个正常订阅,一个高优先级的订阅😅

临冬城城主 | 园豆:261 (菜鸟二级) | 2021-05-07 15:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册