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 连续的,不会有跳跃 /间断
因为既然是框架么,肯定是具有通用性的,那一般都有哪些爬取逻辑?
还是我印象记得 /错误理解 /胡说八道:
1
c4f36e5766583218 OP 我真的没有想爬 V 站,只是技术交流,举例而已。不要被 ban...
|
2
c4f36e5766583218 OP @Livid 被 ban 了?为什么这主题没出现在 https://www.v2ex.com/go/qna 列表中?诡异。。
|
3
c4f36e5766583218 OP 我被降权了? test
|
4
hentaisan 2019-06-12 21:04:45 +08:00
@c4f36e5766583218 #3 没事,你或在 RSS 里面
|