又一家數據公司被查,爬蟲到底做錯了什麼?

来源:https://www.cnblogs.com/zkqiang/archive/2019/09/13/11515941.html
-Advertisement-
Play Games

如何界定爬蟲的合法性,我通過翻閱大量文章、事件、分享、司法案例,總結出界定的三個關鍵點 ...


9 月 6 日下午,多位業內人士稱,杭州知名大數據服務公司杭州魔蝎數據科技有限公司,疑似被相關執法人員控制,其中一位周姓核心高管人員被警方帶走。

以上是前幾天技術圈傳播的一則新聞,又一家數據公司被調查,很多數據從業者、爬蟲開發者發出了“感嘆” —— 「爬蟲用得好,XX進得早;數據玩得溜,XX吃個夠」。

魔蝎科技作為一家數據服務公司,曾在 2017 年一篇『爬蟲凶猛:爬支付寶、爬微信、竊取現金貸放貸數據』的文章中,被指出存在開發使用惡意爬蟲的行為。

當然關於魔蝎科技為什麼被查,這個等待執法部門的調查結果即可,咱們不在這裡無端猜測。

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

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

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

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

數據的採集途徑

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

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

個人數據

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

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

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

相關反面案例:

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

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

公開數據

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

『刑法』第二百八十五條第二款:

違反國家規定,侵入前款規定以外的電腦信息系統或者採用其他技術手段,獲取該電腦信息系統中存儲、處理或者傳輸的數據,或者對該電腦信息系統實施非法控制,情節嚴重的,處三年以下有期徒刑或者拘役,並處或者單處罰金;情節特別嚴重的,處三年以上七年以下有期徒刑,並處罰金。

違反 Robots 協議

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

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

數據的採集行為

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

高併發壓力

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

如果一旦導致嚴重後果,後果參見『刑法』第二百八十六條:

違反國家規定,對電腦信息系統功能進行刪除、修改、增加、干擾,造成電腦信息系統不能正常運行,後果嚴重的,構成犯罪

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

影響正常業務

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

數據的使用目的

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

超出約定的使用

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

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

其他情況就不列舉了。

出售個人信息

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

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

不正當商業行為

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

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

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

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

「爬蟲法」即將出台

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

5 月 28 日零點,國家互聯網信息辦公室發佈了《數據安全管理辦法》征求意見稿。

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

比如,第二章第十六條:

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

第三章第二十七條:

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

節選自『數據安全管理辦法(征求意見稿)』

結語

關於爬蟲合法性的研究就到這,有很多案例和角度由於篇幅沒有提到,也有一些觀點結論可能存在錯誤。

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

本文屬於原創內容,首發於微信公眾號「面向人生編程」,如需轉載請在公眾號後臺留言。

關註後回覆以下信息獲取更多資源
回覆【資料】獲取 Python / Java 等學習資源
回覆【插件】獲取爬蟲常用的 Chrome 插件
回覆【知乎】獲取最新知乎模擬登錄


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 作者:西西 最近很流行的一句話成年人的世界沒有「容易」二字,其實程式員的世界更沒有『容易』二字。不是電腦專業出身的我初入行的時候,每晚在樓下的全時便利店敲代碼到深夜 1 - 2 點。但這其實僅僅是開始,努力了幾個月以後成功面試進入一家互聯網公司(剛入職場薪資很低),自此開啟了我的代碼職業生涯。 初 ...
  • BFC的生成 在實現CSS的佈局時,假設我們不知道BFC的話,很多地方我們生成了BFC但是不知道.在佈局中,一個元素是block元素還是inline元素是必須要知道的.而BFC就是用來格式化塊狀元素盒子,同樣還有管理內連盒子的IFC等.那首先就來瞭解一下什麼是FC. 既然BFC是一塊獨立的渲染區域, ...
  • JSP三大指令 一個jsp頁面中,可以有0~N個指令的定義! 1. page --> 最複雜:<%@page language="java" info="xxx"...%> * pageEncoding和contentType: > pageEncoding:它指定當前jsp頁面的編碼,只要不說謊, ...
  • mutation是更改Vuex的store中的狀態的唯一方法,mutation類似於事件註冊,每個mutation都可以帶兩個參數,如下: state ;當前命名空間對應的state payload ;傳入的參數,一般是一個對象 創建Vuex.Store()倉庫實例時可以通過mutations創建每 ...
  • 【需求:】數據從競品網站爬過來,經過分析處理之後,把結果通過網頁實時反饋給業務人員。 【應用:】2個應用: 一個是爬取數據的應用:不斷從競品網站爬數據,每次爬到的數據為一批。然後,對每一批爬到的數據進行清洗和分析,生成唯一批次號(batch_no),將分析結果持久化入庫。 一個是展示頁面:實時刷新持 ...
  • 單例模式:對於類的單例模式設計,就是採取一定的方法保證在整個軟體系統中,對某個類只能存在一個對象實例,並且該類只提供一個取得其對象實例的方法(靜態方法)。 單例模式有8種方式: 1、餓漢式(靜態常量) // 2、餓漢式(靜態代碼塊) 3、懶漢式(線程不安全) 4、懶漢式(線程安全,同步方法) 5、懶 ...
  • 前言 今天講的是結構型設計模式中的最後一個,這個模式也就是代理模式,在前段時間我寫的一篇關於正向代理和反向代理的文章。雖說此代理非彼代理。但是代理一詞還是具有相似的含義的。這裡我們繼續使用文章中的代購一個例子來講述一下代理模式吧,人不方便去購買哪些物品,這時就有一個中間人,他來購買。他代替我去購買。 ...
  • 1.nfs實現的原理解析? 2.安裝、配置、nfs服務 1.安裝 2.配置 3.根據配置進行初始化環境 4.啟動 5.客戶端測試 6.錯誤的示範 7.多個客戶端共用一個存儲伺服器 (NFS) 8.實現開機自動掛載(因為伺服器不重啟) 擴展瞭解即可 3.nfs相關的配置參數 4.rw 和 ro 2.驗 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...