如何使用nodejs开发多线程的爬虫程序

现在有一个场景,数据库中有若干待爬数据的id号,爬虫程序先从库中取出一条id,待爬取完成该条数据后,删除库中对应的id,然后继续下一个。现在是单线程,爬取速度较慢,如果要改成多线程应该是什么逻辑呢?比如现在一个线程正在运作,库中的对应id还没有删除,另一个线程从库中取出的id还是同一条,这样爬取的数据就重复了,请问有什么好的解决办法吗?

阅读 4.7k
1 个回答

可以先分页查出来(避免一次开过多线程),然后给查出来的每一条数据开一个线程去抓取,待该线程结束之后,删除对应ID的数据。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题