但是我不知道题库内有哪些题。我只能通过题库提供的 API 每次从题库中随机获取 m 道题(这 m 道题中的每道题都是互不相同的)。
请问有什么算法可以让我最快获取到题库内的绝大部分的评论题目?
1
ThirdFlame 2018-04-21 11:05:21 +08:00
"绝大部分的评论题目"
能有啥算法,不就是不停的调用 API,入库。 遇到重复的 跳过。一直到多次调用都不出新题了为止 。 |
2
summerwar 2018-04-21 11:20:45 +08:00
钱,直接收购
|
3
alidasuhe OP 打错字了,不好意思哈。
最后一句话应该去掉“评论”一词,是“最快获取到题库内的绝大部分题目? ”。 |
4
qiayue 2018-04-21 11:22:27 +08:00
如果 API 没有访问限制,那么不断请求吧
|
5
flowfire 2018-04-21 11:23:08 +08:00 via iPhone 3
。。。标记重补法?
|
6
binux 2018-04-21 11:27:14 +08:00
你就一个选项,这还能怎么回答?
|
8
Cbdy 2018-04-21 11:39:00 +08:00 via Android
应该这么问,假定题库中有 n 道题,请求多少次有 99%的几率拿到所有题
|
9
alidasuhe OP 不好意思啊,各位,我没把问题描述清楚……
我是想问——“怎么判断题目中的绝大部分题已经收集到了?” |
11
alidasuhe OP m 是一个常量。
|
12
ThirdFlame 2018-04-21 11:53:59 +08:00
当你连续 3-5 次刷不出来新题的时候,应该就差不多了。 最少大多数题应该拿到了。
|
13
sobigfish 2018-04-21 11:55:46 +08:00
请求一次 API 就要花两块钱。。。那你刷出重复题的概率稍微高一点就亏的很啊-。-
|
14
zjb861107 2018-04-21 12:54:33 +08:00 via iPhone
你能确定,每次取的题是完全随机吗?
如果,一定时间内请求次数超过某个值,就不返回给你新的题目,这是一个很容易实现的反爬策略吧 |
15
A3m0n 2018-04-21 13:33:46 +08:00
标记重捕法。
|
16
A3m0n 2018-04-21 13:37:12 +08:00 3
@A3m0n
https://zh.wikipedia.org/wiki/%E6%A0%87%E5%BF%97%E9%87%8D%E6%8D%95%E6%B3%95 > 水库中有若干条鱼,捕捉 100 条,做上标记后重新放回水库中。24 小时后再次捕捉 100 条,其中只有 10 条带有标记,可估算出水库中鱼的总数约为 1000 条。 |
17
sobigfish 2018-04-21 16:00:26 +08:00
@zjb861107 #13 如果是问答类的 app, 返回错误答案更好,比如 4 个答案全是错的。这样也兼容用户在刷新(刷到旧题不是容易答对了?)
|
18
silencefent 2018-04-21 17:36:55 +08:00
api 总会返回一个 id 吧,数据库插入呗,id 重复丢掉或者算更新
|