對于爬蟲想必大家可能都已經(jīng)不陌生了,也出來這么久了馁龟,但是對于爬蟲犯罪這個(gè)事情不是知道大家了解多少,今天我們就來通過一起事件來具體講講關(guān)于爬蟲犯罪這件事情漆魔。
公交作為互聯(lián)網(wǎng)從業(yè)者的必備通勤工具之一坷檩,是出行領(lǐng)域必爭的板塊。實(shí)時(shí)公交 APP 也就成為了熱門的應(yīng)用場景改抡,它們不僅可以為用戶提供定位矢炼、公交路線查詢等信息,還涉及路線規(guī)劃阿纤、實(shí)時(shí)公交信息地理位置等服務(wù)句灌。在這其中,“酷米客”和“車來了”是大眾使用較為頻繁的兩款實(shí)時(shí)公交出行 APP。
“車來了”授意五名程序員爬取實(shí)時(shí)公交數(shù)據(jù)胰锌,竟構(gòu)成犯罪行為
2012 年 10 月骗绕,深圳谷米科技有限公司推出了酷米客實(shí)時(shí)公交 APP。通過在公交車上安裝定位器资昧,酷米客獲得了海量的實(shí)時(shí)公交位置數(shù)據(jù)酬土,具有定位精度高、實(shí)時(shí)誤差小等明顯優(yōu)勢格带,并迅速吸引了大批市場用戶撤缴。目前,酷米客 APP 擁有超過 5000 萬的注冊量叽唱,每日活躍用戶超過 400 萬屈呕。
但是 2015 年 11 月的時(shí)候,同為實(shí)時(shí)公交 APP 的“車來了”為了提升市場份額和信息查詢準(zhǔn)確度棺亭,竟授意五位程序員員工利用爬蟲軟件獲取酷米客公司服務(wù)器的公交車行駛信息凉袱、到站時(shí)間等實(shí)時(shí)數(shù)據(jù)。
厲害的是侦铜,這五位程序員分工十分明確:一位負(fù)責(zé)編寫爬蟲軟件程序专甩;一位負(fù)責(zé)不斷更換爬蟲軟件程序內(nèi)的 IP 地址,以防止被察覺钉稍;一位利用所設(shè)置的不同 IP 地址及爬蟲程序向酷米客發(fā)出數(shù)據(jù)請求涤躲;一位負(fù)責(zé)破解酷米客客戶端的加密算法;在破解失敗后贡未,另一位員工又聘請其他公司的技術(shù)人員幫忙攻破加密系統(tǒng)种樱,使得爬蟲工作得以順利實(shí)施。這一系列數(shù)據(jù)操作“成效”斐然俊卤,幫助“車來了”獲取了大量的酷米客實(shí)時(shí)數(shù)據(jù)嫩挤,日均可達(dá) 300-400 萬條。
花費(fèi)了巨大人力消恍、時(shí)間和經(jīng)濟(jì)成本所獲得的信息卻被同行竊取了岂昭,還直接擠壓了自身的競爭優(yōu)勢和交易機(jī)會,這讓酷米客怎么甘心狠怨?
一怒之下约啊,2016 年,酷米客將車來了告上了法庭佣赖。歷時(shí)兩年之久恰矩,這場糾紛案才最終一錘定音。今年 5 月憎蛤,法院裁定車來了立即停止獲取外傅、使用酷米客實(shí)時(shí)公交位置數(shù)據(jù)的不正當(dāng)競爭行為,并賠償其經(jīng)濟(jì)損失。
想必看到這里萎胰,大家最為關(guān)心的問題是那五位程序員會獲罪嗎碾盟?雖然在訴訟過程中,五位程序員員工利用網(wǎng)絡(luò)爬蟲二次獲取公交車輛實(shí)時(shí)信息的行為都只是因?yàn)槁男泄ぷ髀氊?zé)奥洼,沒有用于謀取個(gè)人私利巷疼。然而,酷米客后臺服務(wù)器存儲的數(shù)據(jù)具有巨大的商業(yè)價(jià)值灵奖,未經(jīng)其許可嚼沿,任何人不得非法獲取該軟件的后臺數(shù)據(jù)并用于經(jīng)營行為——因此他們必須承擔(dān)連帶責(zé)任。
對此瓷患,中關(guān)村大數(shù)據(jù)聯(lián)盟副秘書長陳新河老師告訴 CSDN(ID:CSDNnews)骡尽,“數(shù)據(jù)爬蟲的違法邊界一直是互聯(lián)網(wǎng)爭議的熱點(diǎn),尤其是在大數(shù)據(jù)時(shí)代擅编,隨著內(nèi)容數(shù)據(jù)價(jià)值的日益凸顯攀细,爬蟲侵權(quán)案也越來越多“”身處其中的程序員們谭贪,面對上級下發(fā)的“爬蟲需求”,是難以置身事外的锦担,一不小心可能就入了局俭识。
爬蟲犯罪的判定仍不明確,尚處于灰色地帶
事實(shí)上洞渔,爬蟲犯罪一直是個(gè)難以界定的灰色地帶套媚。
如果你是學(xué)習(xí)web前端或者是想學(xué)習(xí)web前端的小伙伴,那么你可以加群:834349641一起學(xué)習(xí)交流哦~群里不進(jìn)有大牛解決難題磁椒,更有眾多小伙伴一起討論學(xué)習(xí)堤瘤,快點(diǎn)加入吧~??
網(wǎng)絡(luò)爬蟲是一種自動獲取網(wǎng)頁內(nèi)容的程序,通常情況下它是不違法的浆熔,比如很多人都會用到的百度搜索本辐,除去其自營的百度知道、百度百科等蘸拔,幾乎都是爬蟲采集下來的师郑。作為一門技術(shù),爬蟲本身并不違法调窍,所以大多數(shù)情況下都可以放心大膽地用。一般而言张遭,常見的爬蟲手段包括有構(gòu)造合理的 HTTP 請求頭邓萨、設(shè)置 cookie、降低訪問頻率、隱含輸入字段值缔恳、使用代理等等宝剖。
比如 CSDN 此前就曾分享過北京二手房數(shù)據(jù)、網(wǎng)易云音樂評論歉甚、馬蜂窩出行數(shù)據(jù)万细、大眾點(diǎn)評、福彩 3D 信息等應(yīng)用數(shù)據(jù)爬取纸泄。但并不是所有數(shù)據(jù)都有“可爬之機(jī)”赖钞,陳新河表示,“讓不讓爬聘裁,能不能超越規(guī)則之外的爬雪营,能不能用技術(shù)手段跨越封鎖......這些打擦邊球的爬蟲就很容易擦槍走火『獗悖”——尤其是當(dāng)站點(diǎn)明確聲明禁止爬蟲采集或轉(zhuǎn)載商業(yè)化献起,或當(dāng)網(wǎng)站聲明了 Robots 協(xié)議時(shí)。
Robots 協(xié)議也稱為爬蟲協(xié)議镣陕、機(jī)器人協(xié)議谴餐,其全稱為“網(wǎng)絡(luò)爬蟲排除標(biāo)準(zhǔn)”(Robots Exclusion Protocol)。網(wǎng)站通過 Robots 協(xié)議告訴爬蟲哪些頁面可以抓取呆抑,哪些頁面禁止抓取岂嗓。
Robots 協(xié)議是搜索引擎行業(yè)內(nèi)公認(rèn)的、應(yīng)當(dāng)被遵守的商業(yè)道德理肺。
盡管如此摄闸,以身試險(xiǎn)的“勇者”仍是不計(jì)其數(shù),包括我們耳熟的百度妹萨、360 搜索年枕、大眾點(diǎn)評、今日頭條等:
2012 年乎完,360 搜索違反 Robots 協(xié)議熏兄,強(qiáng)行抓取百度旗下百度知道、百度百科树姨、百度貼吧摩桶、百度旅游等內(nèi)容,最終被裁定賠償百度 70 萬元帽揪。
2016 年硝清,大眾點(diǎn)評網(wǎng)起訴百度公司。自 2012 年以來转晰,百度公司未經(jīng)許可在百度地圖芦拿、百度知道中大量抄襲士飒、復(fù)制大眾點(diǎn)評網(wǎng)的用戶點(diǎn)評信息,直接替代大眾點(diǎn)評網(wǎng)向用戶提供的內(nèi)容蔗崎,給其自身造成巨大損失酵幕。百度最終敗訴,停止了在百度地圖等產(chǎn)品中使用點(diǎn)評信息缓苛,并賠償 300 萬元芳撒。
2017 年,秀淘破解了今日頭條服務(wù)器的防抓措施未桥,使后者損失技術(shù)服務(wù)費(fèi)兩萬元笔刹。最終法庭判決,涉事者因?yàn)橛|犯非法獲取計(jì)算機(jī)信息系統(tǒng)數(shù)據(jù)罪钢属,被判九個(gè)月至一年不等的有期徒刑徘熔,并處罰金。這也是國內(nèi)首起“爬蟲入刑”案淆党。
......
其實(shí)可以預(yù)料的是酷师,因?yàn)槟壳氨O(jiān)管法律的不完善,仍有很多漏網(wǎng)之魚染乌。但是隨著數(shù)據(jù)價(jià)值的不斷挖掘山孔,未來的爬蟲侵權(quán)案只會越來越多。
第三方網(wǎng)站該如何應(yīng)對日益猖獗的爬蟲行為荷憋?
那面對日益猖獗的爬蟲行徑台颠,作為網(wǎng)站方該如何應(yīng)對?
既然有“爬蟲”勒庄,那自然會有“反爬蟲”串前。網(wǎng)站一般采用的反爬蟲技術(shù)可以分為四個(gè)種類:通過 User-Agent 來控制訪問、通過 IP 限制來反爬蟲实蔽、通過 JS 腳本來防止爬蟲荡碾、通過 robots.txt 來限制爬蟲。
下面我們通過幾個(gè)熱門站點(diǎn)分析下常見的反爬蟲機(jī)制:
一局装、豆瓣
很多的爬蟲新手都會爬取豆瓣來練手坛吁,但豆瓣并不是完全開放的態(tài)度。它的反爬蟲機(jī)制如下:
在沒有攜帶 cookie 的情況下铐尚,如果某個(gè) IP 短時(shí)間高并發(fā)請求網(wǎng)站拨脉,該 IP 會立馬被封。當(dāng) IP 被封宣增,登錄豆瓣網(wǎng)站會解封玫膀。
在攜帶 cookie 的情況下,某個(gè) IP 請求網(wǎng)站過于頻繁爹脾。豆瓣的反爬蟲機(jī)制變?yōu)橹环?cookie 不封 IP匆骗。也就說退出登錄或換個(gè)賬號還能繼續(xù)訪問劳景。
可以看出誉简,豆瓣是一個(gè)十分體諒爬蟲新手的網(wǎng)站碉就。爬蟲者只要在代碼中登錄賬號并降低并發(fā)數(shù),再隨機(jī)延遲等待一段時(shí)間闷串,爬蟲程序就不會被封瓮钥。
二、拉勾網(wǎng)
拉勾網(wǎng)最初的反爬蟲機(jī)制沒有現(xiàn)在這么嚴(yán)格烹吵,但是隨著關(guān)注者的增多碉熄,網(wǎng)站管理員為了保護(hù)服務(wù)器增加了一些手段。該網(wǎng)站的反爬蟲機(jī)制如下:
在沒有登錄的情況下肋拔,程序只能連續(xù)訪問 3 個(gè) Url锈津。如果再繼續(xù)訪問,網(wǎng)站會將鏈接重定向凉蜂,然后提示我們登錄琼梆。
如果在登錄情況下,連續(xù)請求部分 Url 之后 IP 會被封窿吩。
針對這樣的爬蟲機(jī)制茎杂,爬蟲者只能使用 IP 代理池來突破。
三纫雁、汽車之家
汽車之家論壇的反爬蟲機(jī)制比較高級煌往,它利用前端頁面自定義字體的方式來實(shí)現(xiàn)反爬的技術(shù)手段。具體使用到是 CSS3 中的自定義字體模塊轧邪,將自定義的 Web 字體嵌入到了指定網(wǎng)頁中去刽脖。這就導(dǎo)致在爬取論壇帖子的口碑時(shí),獲取到的返回文本中每隔幾個(gè)字就出現(xiàn)一個(gè)亂碼符號忌愚。
每次訪問論壇頁面曲管,其中字體不變,但字符編碼是變化的菜循。因此翘地,爬蟲者需要根據(jù)每次訪問動態(tài)解析字體文件。具體需要先訪問爬取的頁面癌幕,獲取字體文件的動態(tài)訪問地址并下載字體衙耕,讀取 JS 渲染后的文本內(nèi)容,替換其中的自定義字體編碼為實(shí)際文本編碼勺远,才可復(fù)原網(wǎng)頁為頁面所見內(nèi)容橙喘。
......
但是,反爬蟲不是萬能的胶逢√梗“以保護(hù)用戶數(shù)據(jù)之名饰潜,行數(shù)據(jù)壟斷之實(shí)的全面禁止爬取策略也將受到數(shù)據(jù)經(jīng)濟(jì)時(shí)代新反壟斷法的挑戰(zhàn)『汪ぃ”陳新河如是說彭雾。
程序員如何在數(shù)據(jù)爬取中“置身事外”?
但是锁保,技術(shù)無罪薯酝,那么程序員就該有罪嗎?聽從上級吩咐寫個(gè)幾行代碼就莫名其妙被關(guān)起來了爽柒?可怕的是不僅一臉懵還無處申冤吴菠。
在知乎上,也有很多關(guān)于爬蟲犯罪的疑問浩村。在“爬蟲究竟是合法還是違法的做葵?”(https://www.zhihu.com/question/291554395)問題下,知乎用戶@筆芯設(shè)計(jì)匠 表示心墅,爬蟲開發(fā)者的道德自持和企業(yè)經(jīng)營者的良知才是避免觸碰法律底線的根本所在:
我們身邊的網(wǎng)絡(luò)已經(jīng)密密麻麻爬滿了各種網(wǎng)絡(luò)爬蟲酿矢,它們善惡不同,各懷心思嗓化。作為爬蟲開發(fā)者棠涮,如何在使用爬蟲時(shí)避免進(jìn)局子的厄運(yùn)呢?
1. 嚴(yán)格遵守網(wǎng)站設(shè)置的 Robots 協(xié)議刺覆;
2. 在規(guī)避反爬蟲措施的同時(shí)严肪,需要優(yōu)化自己的代碼,避免干擾被訪問網(wǎng)站的正常運(yùn)行谦屑;
3. 在設(shè)置抓取策略時(shí)驳糯,應(yīng)注意編碼抓取視頻、音樂等可能構(gòu)成作品的數(shù)據(jù)氢橙,或者針對某些特定網(wǎng)站批量抓取其中的用戶生成內(nèi)容酝枢;
4. 在使用、傳播抓取到的信息時(shí)悍手,應(yīng)審查所抓取的內(nèi)容帘睦,如發(fā)現(xiàn)屬于用戶的個(gè)人信息、隱私或者他人的商業(yè)秘密的坦康,應(yīng)及時(shí)停止并刪除竣付。
所以,面對上級危險(xiǎn)的爬蟲請求滞欠,程序員們該好好衡量下了古胆。
對于涉及法律風(fēng)險(xiǎn)的數(shù)據(jù)爬取要求,程序員最好在采集前和上級深聊一下筛璧,給后者科普一下其中的法律風(fēng)險(xiǎn)逸绎。如果對方仍執(zhí)意采集惹恃,建議事先和公司簽署一份免責(zé)協(xié)議,避免在風(fēng)險(xiǎn)降臨時(shí)被拉下水棺牧。
如果你是學(xué)習(xí)web前端或者是想學(xué)習(xí)web前端的小伙伴巫糙,那么你可以加群:834349641一起學(xué)習(xí)交流哦~群里不進(jìn)有大牛解決難題,更有眾多小伙伴一起討論學(xué)習(xí)陨帆,快點(diǎn)加入吧~??