一个实时更新的新闻列表网站,假设截止当前总共50页,每页10条。
我抓完第一页,在抓取第二页的时候,列表更新了5条,第二页的信息包含了第一页的5条信息。
如果单线程跑的话,那么就只多5条信息,可以判断。
如果多线程跑的话,会丢失一部分数据(假如两个线程同时跑,第1页和第26页同时抓,第2页和27页同时抓,那么第一页更新五条之后,会丢失25页的后5条数据和50页的后五条)。
请问在多线程的情况下如何保证抓取到这部分丢失的数据?
一个实时更新的新闻列表网站,假设截止当前总共50页,每页10条。
我抓完第一页,在抓取第二页的时候,列表更新了5条,第二页的信息包含了第一页的5条信息。
如果单线程跑的话,那么就只多5条信息,可以判断。
如果多线程跑的话,会丢失一部分数据(假如两个线程同时跑,第1页和第26页同时抓,第2页和27页同时抓,那么第一页更新五条之后,会丢失25页的后5条数据和50页的后五条)。
请问在多线程的情况下如何保证抓取到这部分丢失的数据?
干嘛要抓全部的? 第一次抓完去重,后面都是抓第一页更新的,去重后保存到数据库就行了