網路爬蟲的注意事項

  • 2019 年 10 月 7 日
  • 筆記

作者:張凱強 來源:面向人生編程(ID:LifeOriented)

我今天要說的是關於爬蟲的合法性,我希望通過一些案例來探討:怎樣做一個不觸碰紅線的爬蟲開發者。

爬蟲作為一種電腦技術,具有技術中立性,爬蟲技術在法律上從來沒有被禁止。爬蟲的發展歷史可以追溯到 20 年前,搜索引擎、聚合導航、數據分析、人工智慧等業務,都需要基於爬蟲技術。

但是爬蟲作為獲取數據的技術手段之一,由於部分數據存在敏感性,如果不能甄別哪些數據是可以爬取,哪些會觸及紅線,可能下一位上新聞的主角就是你。

如何界定爬蟲的合法性,目前沒有明文規定,但我通過翻閱大量文章、事件、分享、司法案例,我總結出界定的三個關鍵點:採集途徑、採集行為、使用目的。

01 數據的採集途徑

通過什麼途徑爬取數據,這個是最需要重視的一點。總體來說,未公開、未經許可、且帶有敏感資訊的數據,不管是通過什麼渠道獲得,都是一種不合法的行為。

所以在採集這類比較敏感的數據時,最好先查詢下相關法律法規,特別是用戶個人資訊、其他商業平台的資訊 等這類資訊,尋找一條合適的途徑。

1. 個人數據

採集和分析個人資訊數據,應該是當下所有互聯網都會做的一件事,但是大部分個人數據都是非公開的,想獲得必須通過合法途徑,可參見『網路安全法』第四十一條:

網路運營者收集、使用個人資訊,應當遵循合法、正當、必要的原則,公開收集、使用規則,明示收集、使用資訊的目的、方式和範圍,並經被收集者同意……

也就是必須在提前告知收集的方式、範圍、目的,並經過用戶授權或同意後,才能採集使用,也就是我們常見的各種網站與 App 的用戶協議中關於資訊收集的部分。

相關反面案例:

8月20日,澎湃新聞從紹興市越城區公安分局獲悉,該局日前偵破一起特大流量劫持案,涉案的新三板掛牌公司北京瑞智華勝科技股份有限公司,涉嫌非法竊取用戶個人資訊30億條,涉及百度、騰訊、阿里、京東等全國96家互聯網公司產品,目前警方已從該公司及其關聯公司抓獲6名犯罪嫌疑人。 …… 北京瑞智華勝公司及其關聯公司在與正規運營商合作中,會加入一些非法軟體用於清洗流量、獲取用戶的 cookie。

▲節選自 澎湃新聞:『新三板掛牌公司涉竊取30億條個人資訊,非法牟利超千萬元』[1]

2. 公開數據

從合法公開渠道,並且不明顯違背個人資訊主體意願,都沒有什麼問題。但如果通過破解侵入等「黑客」手段來獲取數據,那也有相關法律等著你:

刑法第二百八十五條第三款規定的「專門用於侵入、非法控制電腦資訊系統的程式、工具」: (一)具有避開或者突破電腦資訊系統安全保護措施,未經授權或者超越授權獲取電腦資訊系統數據的功能的; ……

3. 違反 Robots 協議

雖然 Robots 協議沒有法規強制遵守,但 Robots 協議作為行業約定,在遵循之下會給你帶來合法支援。

因為 Robots 協議具有指導意義,如果註明 Disallow 就說明是平台明顯要保護的頁面數據,想爬取之前應該仔細考慮一下。

02 數據的採集行為

使用技術手段應該懂得剋制,一些容易對伺服器和業務造成干擾甚至破壞的行為,應當充分衡量其承受能力,畢竟不是每家都是 BAT 級。

1. 高並發壓力

做技術經常專註於優化,爬蟲開發也是如此,想盡各種辦法增加並發數、請求效率,但高並髮帶來的近乎 DDOS 的請求,如果對對方伺服器造成壓力,影響了對方正常業務,那就應該警惕了。

如果一旦導致嚴重後果,後果參見:

《刑法》第二百八十六條還規定,違反國家規定,對電腦資訊系統功能進行刪除、修改、增加、干擾,造成電腦資訊系統不能正常運行,後果嚴重的,構成犯罪。

所以請爬取的時候,即使沒有反爬限制,也不要肆無忌憚地開啟高並發,掂量一下對方伺服器的實力。

2. 影響正常業務

除了高並發請求,還有一些影響業務的情況,常見的比如搶單,會影響正常用戶的體驗。

03 數據的使用目的

數據使用目的同樣是一大關鍵,就算你通過合法途徑採集的數據,如果對數據沒有正確的使用,同樣會存在不合法的行為。

1. 超出約定的使用

一種情況是公開收集的數據,但沒有遵循之前告知的使用目的,比如用戶協議上說只是分析用戶行為,幫助提高產品體驗,結果變成了出售用戶畫像數據。

還有一種情況,是有知識產權、著作權的作品,可能會允許你下載或引用,但明顯標註了使用範圍,比如不能轉載、不能用於商業行為等,更不能去盜用,這些都是有法律明文保護,所以要注意使用。

其他情況就不列舉了。

2. 出售個人資訊

關於出售個人資訊,千萬不要做,是法律特別指出禁止的,參見:

根據《最高人民法院 最高人民檢察院關於辦理侵犯公民個人資訊刑事案件適用法律若干問題的解釋》第五條規定,對「情節嚴重」的解釋: (1)非法獲取、出售或者提供行蹤軌跡資訊、通訊內容、徵信資訊、財產資訊五十條以上的; (2)非法獲取、出售或者提供住宿資訊、通訊記錄、健康生理資訊、交易資訊等其他可能影響人身、財產安全的公民個人資訊五百條以上的; (3)非法獲取、出售或者提供第三項、第四項規定以外的公民個人資訊五千條以上的便構成「侵犯公民個人資訊罪」所要求的「情節嚴重」。 此外,未經被收集者同意,即使是將合法收集的公民個人資訊向他人提供的,也屬於刑法第二百五十三條之一規定的「提供公民個人資訊」,可能構成犯罪。

3. 不正當商業行為

如果將競品公司的數據,作為自己公司的商業目的,這就可能存在構成不正當商業競爭,或者是違反知識產權保護。

這種情況在目前涉及爬蟲的商業訴訟案中比較常見,兩年前比較知名的案件,「車來了」 App 抓取其競品 「酷米客」 的公交車數據,並展示在自己的產品上:

雖然公交車作為公共交通工具,其實時運行路線、運行時間等資訊僅系客觀事實,但當此類資訊經過人工收集、分析、編輯、整合併配合GPS精確定位,作為公交資訊查詢軟體的後台數據後,此類資訊便具有了實用性並能夠為權利人帶來現實或潛在、當下或將來的經濟利益,已經具備無形財產的屬性。元光公司利用網路爬蟲技術大量獲取並且無償使用穀米公司「酷米客」軟體的實時公交資訊數據的行為,實為一種「不勞而獲」、「食人而肥」的行為,構成不正當競爭。

▲節選自『深圳市中級人民法院(2017)粵03民初822號民事判決書』

04 「爬蟲法」即將出台

好消息是,相關辦法已經在路上了。

5 月 28 日零點,國家互聯網資訊辦公室發布了《數據安全管理辦法》徵求意見稿。

我也查閱了這份意見稿,裡面對數據的獲取、存儲、傳輸、使用等都做了一些規定,包括關於爬蟲行為的若干規定(還在徵求階段,因此後續可能會有變化)。

比如,第二章第十六條:

網路運營者採取自動化手段訪問收集網站數據,不得妨礙網站正常運行;此類行為嚴重影響網站運行,如自動化訪問收集流量超過網站日均流量三分之一,網站要求停止自動化訪問收集時,應當停止。

第三章第二十七條:

網路運營者向他人提供個人資訊前,應當評估可能帶來的安全風險,並徵得個人資訊主體同意。下列情況除外: (一)從合法公開渠道收集且不明顯違背個人資訊主體意願; (二)個人資訊主體主動公開; (三)經過匿名化處理; (四)執法機關依法履行職責所必需; (五)維護國家安全、社會公共利益、個人資訊主體生命安全所必需。

▲節選自『數據安全管理辦法(徵求意見稿)』[2]

05 結語

在此聲明:以上所有內容僅是個人分析,可能存在錯誤之處,不能作為任何依據,具體以相關法律法規為準。

希望能給各位爬蟲開發者,也包括其他開發者一些啟示:技術雖中立,使用有善惡,一定要合理合規、嚴格謹慎地使用技術。