網絡爬蟲程序員被抓,我們還敢爬蟲嗎?細數那些Java爬蟲技術
最近,某大數據科技公司因為涉嫌非法抓取某招聘網站用戶的簡歷信息,公司被查封,負責編寫抓取程序的程序員也將面臨坐牢。
事情的大概經過是這樣的:
某大數據科技公司老板丟給一個小小的程序員一個網站,告訴他把這個網站的數據抓取下來,咱們做一做分析。這個小小的程序員就吭哧吭哧的寫了一段抓取代碼,測試了一下,程序沒問題,可以正常的把這個網站的數據給抓取下來,然后就毫不猶豫的上線了。過了幾天,這個小小的程序員發現抓取的速度有點慢啊,然后他就將1個線程改成10個線程,發布上線,開始抓取,程序跑的沒毛病。
過了一段時間,網站主的老板發現最近網站訪問量激增,并且還經常宕機。然后組織公司程序員排查系統問題,經過排查發現,系統某一個接口頻繁訪問,遂懷疑有人惡意攻擊,于是就報案了。警察通過訪問來源IP順藤摸瓜,查到小小程序員所在的公司,把公司全員200人全部扣留調查,這名小小程序員由于負責抓取程序的編寫,將面臨坐牢。小小程序員一臉懵逼,我只負責老板交給我的任務,我犯什么法了?
看了這個新聞,程序員朋友還不趕快將你的爬蟲程序下線,要不下一個抓的就是你,怕不怕?
爬蟲技術對于大多數程序員來說一點不陌生,大多數程序員都干過爬蟲的事情吧!我記得我剛畢業入職的第一家公司我就是負責爬蟲的。主要爬取各大高校官網的新聞資訊信息,然后利用這些信息給高校做手機微官網。當然,我們是經過了大多數高校的默認的。
今天我們暫且不論爬蟲是否違法,這個問題我們也論不清楚。國內現在這么多做大數據分析公司,他們可以提供各種數據分,他們的數據是從哪里來的?有幾家是正當來源?恐怕大多都是爬來的。今天我們細數那些java爬蟲技術。
一、Jsoup
的HTML解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數據。這也是我最早使用的爬蟲技術。
二、HtmlUnit
HtmlUnit是一款java的無界面瀏覽器程序庫。它可以模擬HTML文檔,并提供相應的API,允許您調用頁面,填寫表單,點擊鏈接等操作。它是一種模擬瀏覽器以用于測試目的的方法。使用HtmlUnit你就感覺你是在操作瀏覽器,他對于css和js都可以很好的支持。
三、Selenium
Selenium是一個用于Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。
Selenium我覺得是最好的爬蟲工具了,因為它完全模擬瀏覽器。由程序掉起瀏覽器,模擬人的操作。關于Selenium在我的文章[Selenium利器!解放測試程序員的雙手]有專門講解。
最后,爬蟲有風險,使用需謹慎。希望廣大程序員朋友在使用爬蟲技術的時候,要有數據隱私的意識。
以下內容來源網絡:
如果爬蟲程序采集到公民的姓名、身份證件號碼、通信通訊聯系方式、住址、賬號密碼、財產狀況、行蹤軌跡等個人信息,并將之用于非法途徑的,則肯定構成非法獲取公民個人信息的違法行為。
除此之外,根據相關規定,對于違反國家有關規定,向他人出售或者提供公民個人信息,情節嚴重的,竊取或者以其他方法非法獲取公民個人信息的,均可構成成“侵犯公民個人信息罪”,處三年以下有期徒刑或者拘役,并處或者單處罰金;情節特別嚴重的,處三年以上七年以下有期徒刑,并處罰金。