虽然会增加我将来爬东西的难度,但还是要说一句话:
外显有序 id 是低智商
说个故事:
上世纪末,要抓日本某站点一批数据,当时只知道 max(id)>=17000 ,步长 1 自增
还不会写爬虫,于是开网络蚂蚁批量,直接下
大约抓了 5000 条左右,那站点停了几小时,然后页面浏览器访问顶部出现了“巡回禁止”的横条,哈哈
然后发现大约下 1000 条左右后面就会全部 404
老子 proxy 多,当年还没有 qiang 的概念, ssl proxy 都是稀有物,但 http proxy 还是不少,因为原生网路就不畅,非人为原因……
然后就每 800 条换一个 proxy ,爬完(换了多个确认是真的没有数据而不是 404 ),总数 26000+条
这是当年不为爬 qiang 而使用梯子的典型例子
凭这 2w 条信息,虽然没有全部发布,并且是重新组织和翻译,在小圈子也有点名气
但也属盗版了,后来还是怕担责(即使日本追究不到我这来),撤了,自此之后虽然爬数据,但再也没批量公开发布了
反正从那时开始我就禁止后台程序员使用外显有序 id 了
@
akira 说的是对的,其实不要想什么算法,因为读取的次数比写入多得多,在写入时产生一个唯一用于外显的 uid 则可,读取时用算法判定会严重增加机器负担