while(true){
if (first) {
// 比如开 100 个线程获取 1-100 的主题,https://www.v2ex.com/t/1 到 https://www.v2ex.com/t/100
} else {
// part 1
// 对 404 的主题做重试,因为万一程序跑太快了或者 V 站停更 1 个月就会出现 200 的帖子被错误记录为 404
// 比如对 404 的主题重试个 5 天,5 天后还是 404 就大概率是 404 了
// 当然 part1 的逻辑不是最严谨的,还是可能出错
// part2
// 视情况是否获取下 100 条主题。(比如上 100 条都是 404 可能就是程序跑太快了)
}
// 等待 100 线程结束
// 视情况限制循环的间隔时间
}
一遍下来存的主题 ID 连续的,不会有跳跃 /间断
因为既然是框架么,肯定是具有通用性的,那一般都有哪些爬取逻辑?
还是我印象记得 /错误理解 /胡说八道:
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.