今天小编分享的财经经验:微博“反爬虫”这招,我追女孩也用过,欢迎阅读。
一、初阶:文科生的藏头诗与程式员的暗桩
读书那会遇上考试答卷子,如果一题都不会,恰好同桌是全班第一,我们还可以抄同桌的卷子。顶风作案的压力之下、匆忙之中,我们自己的卷子上,除了抄到同桌的标准答案,竟把同桌的名字也一并抄过来了。
灵感来源于生活。有了这样的抄袭体验,自然知道如何反抄袭。
我大约在 5 年前发表过一篇有关 " 洗稿与反洗稿 " 的文章,为了说明这一 " 反洗稿技巧 ",我在文中展示了一个自己亲历的案例:早年间为了讨好对象,我写了一篇 " 校园爱情文学 " 公众号文章,后来被不少公众号、网站擅自转发了。其实他们都不知道,在某些段落,每段段首的单字相连、段末的单字相连,分别都是特定的古诗词——我当时就是化用了像《西洲曲》当中 " 南风知我意,吹梦到西洲 " 那样的诗句。剽窃者断然不会想到,他们在抄袭文章的同时,也会把我 " 追女孩 " 的藏头诗心思全抄过去。
这样的方法,首创者当然不是我,程式员要运用得更早,他们能把代码写得跟诗一样优雅,自然也能想到代码被抄袭侵权的证明方法。例如说,一位叫 " 唐有鲤 " 的程式员,在自己写的代码中,悄悄嵌入一串具有特殊含义的信息 "daimachaoyouli,qiyoucili"(代码抄有鲤,岂有此理)。这样哪怕被同事抄走,拿去跟老板邀功,这位聪明的程式员,也能凭当初埋下的 " 暗桩 " 来打脸同事。
二、进阶:" 文字暗桩 " 首用于打官司
事实上,也确实有聪明的程式员,在打官司中用过这一招。
在霍炬诉 " 差评 " 公众号文章抄袭案 [ 1 ] 中,工程师霍炬先生作为原告,论述了自己使用独有词组作为 " 文字信标 " 的巧妙设计。他 " 埋 " 了两个独有词组:" 兼具数学和工程之美 "、" 最底层的简单 API 实现 " 作为 " 暗桩 "(见下图)。
(图片来源于霍炬公众号 " 歪理邪说 " 的文章:左图为被告 " 差评 " 文章,右图为原告霍炬文章)
因为该词组的表达颇具独创性,在他本人发表原文之前,历史上没有任何一篇文章使用过这两个词组当中的任何一个,更何况是同时使用。正因为这一巧妙创新,无论原文被转载到网络上的哪一个角落,只要以这俩词组作为关键词进行检索,都能搜到原文,以及涉嫌抄袭的文章。相同的是,两篇文章都用了一样的 " 独创 " 词组,不同的是,原文发表在前、创作更早。这也是原告霍炬先生在案件当中,论述被告 " 差评 " 存在抄袭的逻辑。
" 程式员们使用这个技巧已经有几十年的历史了 …… 但应用到文字创作上,我觉得这应该是第一个公开的案例。" 霍炬先生自己评价说。但遗憾的是,如此令程式员们拍案叫绝的抄袭证明方式,最后没有得到法官的 " 拍案支持 " ——法官判决认为,原告标记的两个独创短句 " 仅 17 个汉字、3 个字母,所占比例极小,也并非核心内容,不能限制他人也使用这样的短句。"
法官用短短一句话,仿佛也表达了这样的两层意思:
1. 中华文化博大精深,不能说你创造了这俩句子,就垄断这俩句子的版权使用;
2. 这两句是一模一样,但字数少且非核心内容,难以证实整部作品构成抄袭。
三、高阶:微博一招让 " 秘密窃取 " 行为无所遁形
前面讲的 " 暗桩 " 玩法,均是运用于反抄袭(著作权纠纷)的实践,而微博则将其应用于反不正当竞争(数据权益纠纷)中。
在这起全国首例非法调用 API 获取数据交易转卖案中,作为原告的微博指控对方使用技术手段绕开了微博平台設定的保护措施," 秘密窃取 " 了微博的数据转售获利。在微博被疯狂非法抓取数据狂卖 21 亿次、胜诉获赔 2000 万元的背后,离不开微博的取证绝招:插入特殊資料欄——广东省高级人民法院在判决书中详细记录了这 " 制胜一招 "(如下截图)。当然,不想看的读者可以跳过截图,直接看我的 " 小白解说版 "。
(抓取微博数据首案终审 2022 粤民终 4541 号判决书截图," 微梦公司 " 即为微博一方)
微博采取了什么保护措施呢?我们正常用户浏览微博,后台会识别我们的 id,所以此时微博以 " 我家大门常打开 " 的状态,开放怀抱等你正常登录使用。但倘若哪个坏家伙频繁向微博索要数据,超出用户正常使用微博的范围,后台就会识别出这个 id 事出反常必有妖,为防别有用心的竞争对手来爬数据,微博会拒绝继续向该 id 提供数据。这,就是微博所采取的 " 反爬 " 措施手段。
那对方是如何成功绕过上述保护措施," 秘密窃取 " 微博数据的呢?若要人不知,除非换 id。没错,打一枪换一个马甲,让微博后台每次都误以为是不同 id 的正常用户登录,如此一来,爬数据简直不要太愉快,零元购瞬间掏空别人数据库不是梦。(注:此处仅为评论和说明某一技术手段,并非教授某种技术方式)
微博又是如何锁定对方 " 秘密窃取 " 的罪证呢?天网恢恢,有了 " 暗桩 ",哪怕你烧成灰。学过中学《生物》的,都应该记得" 荧游標注法 "。
举个例子,年级长韦博阳(后台)宣布,期末考试 1 至 6 班,1 班成绩最好,奖励 1 班全班同学,集体到大教室享用点心。但这个韦博阳是新来的年级长,6 个班的学生他全都不认识,为了防止 1 班以外的其他学生来 " 浑水摸鱼 "、抢占资源,韦博阳年级长会在大教室门口,检查每个学生的校牌(id),确认是 1 班学生(正常用户)才放行。
结果那天 1 至 5 班均有部分捣蛋学生(异常用户)篡改校牌,以 1 班学生的身份掩人耳目,成功混吃,当然也成功 " 等死 " ——因为韦博阳年级长还有后手,他要求每位学生吃点心之前,必须使用洗手液洗手,而这些洗手液被提前掺了荧光剂(插入加密字元),只要学生们回到自己的班上,韦博阳年级长到逐个班去关灯,在黑暗状态下,偷吃过点心的 " 黑手 " 必将一一遁形(解密)。这,就是微博的取证小妙招。
四、余论:同一 " 暗桩 " 打法,两案结果为何不同?
想到前面霍炬诉差评案的败诉,有细心的读者可能会有疑问:底层逻辑都是玩 " 藏头诗 " 这一招,追女孩可以用,数据之争可以用,凭啥到版权之诉这里就不能用?
究其原因,是指控的侵权方式不一样,所以 " 暗桩 " 的使命也大有不同。在非法调用 API 抓取微博数据首案中,微博只要证明 " 暗桩来源 " 即可——即指出 " 既然暗桩源于我,你就必然爬过我 "。然而在著作权纠纷案中,这些 " 暗桩 " 除了要证明来源,往往还被要求担起证明 " 实质性相似 " 的重任。这个拦路虎可太难了,什么意思呢?就是我们在前面分析霍炬 vs. 差评案中的法官意思:
(1)暗桩虽是你独创,但别人也能照用;
(2)暗桩信息这么短,咋能证明文章整体抄袭?
放在《著作权法》当中,自然是这么个道理。但我个人认为,在司法实践中,倘若我们是遭遇被侵权的一方,维权的思路可以不那么局限,比方说:
1. 用 " 暗桩 " 争取法官心证:" 暗桩 " 是用来证明你 " 偷 " 过我的东西,而不是去论证我能不能禁止你使用这玩意,只要我证明了 " 暗桩 " 的独创性、在先且唯一,那天底下哪有那么巧的事,刚好你的文章里也用了一模一样的 " 暗桩 " ——以此作为重要突破口,来打动法官内心确信,然后再结合其他方面(如比对情节、编排、叙述方式等是否存在雷同),打一套 " 有面子有里子 " 的组合拳,以实现 " 实质性相似 " 的侵权论证;
2. 优先适用数据权益保护:数字经济时代,许多的文字作品同时也是以数据形态存在,在数据越来越重要的今天,维权方如果能在起诉时挖掘到案件价值,实现从 " 版权保护 " 向 " 数据权益保护 " 的跨越,实际上不仅仅是请求权基础的简单变化,更加是在举证便捷程度、获赔金额、案件影响意义等方面实现跨越式的提升。毕竟,里程碑式的非法调用 API 抓取微博数据全国首案,以及其判赔金额 2000 万元,足以说明一切。
这是数据的价值,也是律师的价值,更是 " 懂技术的律师 " 的价值。