实时更新的网站列表信息,多线程抓取如何避免遗漏数据?

一个实时更新的新闻列表网站,假设截止当前总共50页,每页10条。

我抓完第一页,在抓取第二页的时候,列表更新了5条,第二页的信息包含了第一页的5条信息。

如果单线程跑的话,那么就只多5条信息,可以判断。

如果多线程跑的话,会丢失一部分数据(假如两个线程同时跑,第1页和第26页同时抓,第2页和27页同时抓,那么第一页更新五条之后,会丢失25页的后5条数据和50页的后五条)。

请问在多线程的情况下如何保证抓取到这部分丢失的数据?

阅读 2.5k
1 个回答

干嘛要抓全部的? 第一次抓完去重,后面都是抓第一页更新的,去重后保存到数据库就行了

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