• 风铃
    2022-11-10 来自北京
    咱们实战课程大概什么时候开始了

    作者回复: 下周开始进入实战

    
    3
  • 风铃
    2022-11-10 来自北京
    咱们什么时候可以开始了

    作者回复: 下周开始进入实战

    
    3
  • shuff1e
    2022-11-10 来自北京
    有代码吗?上下github的链接。talk is cheap, show me the code

    作者回复: 15讲后进入实战,到时都会有相对应的项目代码给到,保持一些耐心哦

    
    2
  • 逗逼章鱼
    2022-11-10 来自北京
    对 Go 这种静态编译的语言,你知道怎么在不重新编译和运行程序的情况下,动态添加一个新的爬虫任务和新的爬虫规则。 是把任务写进数据库里读取吗?

    作者回复: 这是一种方式,但这需要我们的程序提前提前写好了解析任务的代码,这就是静态的。 还有动态的方式,这种方式可以依靠虚拟机实现,我们后面会实战两种方式

    
    1
  • 7oty
    2022-12-20 来自广东
    提供实战的源代码吗?

    作者回复: https://github.com/dreamerjackson/crawler

    
    
  • 翡翠虎
    2022-11-24 来自北京
    请教一下采集过程中可能会产生大量的待采集url,可能是几千万,上亿。问:我看架构里没有用消息队列做缓冲,这些url是放到ETCD吗?

    作者回复: 我们其实只用存储某一个任务的url就好了,不用每一个中间采集的url都存起来。 只存储任务的url的话,存在etcd是ok的。因为我们本身借助了etcd在我们架构中做了任务的调度。当然,如果我们有其他额外的需求,例如频繁查找、修改,分析。需要额外存在其他数据库中。

    共 2 条评论
    
  • 会飞的大象
    2022-11-10 来自上海
    将爬虫任务和规则维护到etcd配置中心,进行配置热加载
    
    6
  • 拾掇拾掇
    2022-11-10 来自浙江
    配置中心或者监听配置文件
    
    2
  • 老猫
    2022-11-11 来自江苏
    1. 任务,通过用户界面添加到数据库里,然后任务调度器读取任务进行就好了。 2. 规则,两种思路,如果可以将规则写成配置文件,如yaml,json之类的,那直接动态添加这个规则。但如果这个规则比较复杂,可以考虑为规则单独起一个服务,将服务配置到任务调度器里
    
    1
  • Realm
    2022-11-10 来自浙江
    猜测一下:用协程订阅etcd中的/jobs、/rules, 在etcd中增加任务和爬虫规则时,会通知订阅者,达到动态配置的效果.
    
    1