震驚叠国!編寫“爬蟲”,怎么“面向監(jiān)獄編程”了戴尸?

?2019年9月以來粟焊,不少因為非法使用“爬蟲”技術(shù),而使公司面臨訴訟,程序猿被警察帶走的新聞?wù)痼@了IT圈的小伙伴們项棠!

我只是個寫爬蟲的悲雳,跟我有什么關(guān)系?

許多程序員都有這樣的想法香追,技術(shù)是無罪的合瓢,我只是個打工的程序員,公司干違法的業(yè)務(wù)透典,跟我沒關(guān)系晴楔。。掷匠。只能說滥崩,程序猿們真是圖樣圖森破了。

看到那么多爬蟲導致公司觸犯法律的新聞讹语,有人開玩笑說钙皮,編寫爬蟲程序,就是“面向監(jiān)獄編程”顽决。

看個案例:

抓取用戶社交數(shù)據(jù)短条,尤其是用戶隱私相關(guān)。

(圖片文字來自新浪網(wǎng))

其實才菠,“爬蟲”只是一種技術(shù)茸时,沒有那么可怕如果使用技術(shù)來做非法的事情,自然就會有警察叔叔上門了赋访。

今天老司機給大家講一下爬蟲的幾個原理可都,以及怎么安全無憂地使用爬蟲。

首先蚓耽,網(wǎng)絡(luò)爬蟲(又稱為網(wǎng)頁蜘蛛渠牲,網(wǎng)絡(luò)機器人),是一種按照一定的規(guī)則步悠,自動地抓取萬維網(wǎng)信息的程序或者腳本签杈。

其次,網(wǎng)絡(luò)爬蟲按照系統(tǒng)結(jié)構(gòu)和實現(xiàn)技術(shù)鼎兽,大致可以分為以下幾種類型:

??通用網(wǎng)絡(luò)爬蟲(General Purpose Web Crawler)

??聚焦網(wǎng)絡(luò)爬蟲(Focused Web Crawler)

??增量式網(wǎng)絡(luò)爬蟲(Incremental Web Crawler)

??深層網(wǎng)絡(luò)爬蟲(Deep Web Crawler)

實際的網(wǎng)絡(luò)爬蟲系統(tǒng)通常是幾種爬蟲技術(shù)相結(jié)合實現(xiàn)的答姥。由于商業(yè)原因,網(wǎng)絡(luò)爬蟲的技術(shù)細節(jié)很少公布出來谚咬。

所以鹦付,可以很安全地得出結(jié)論,普通編程愛好者择卦,使用Python睁壁、JAVA自己練習代碼背苦,是無風險的。

再次潘明,網(wǎng)絡(luò)爬蟲抓取目標的描述和定義是決定網(wǎng)頁分析算法與URL搜索策略如何制定的基礎(chǔ)行剂。而網(wǎng)頁分析算法和候選URL排序算法是決定搜索引擎所提供的服務(wù)形式和爬蟲網(wǎng)頁抓取行為的關(guān)鍵所在。這兩個部分的算法又是緊密相關(guān)的钳降。

僅僅就聚焦爬蟲來說厚宰,對抓取目標的描述可分為三種:

??基于目標網(wǎng)頁特征

??基于目標數(shù)據(jù)模式

??基于領(lǐng)域概念

基于目標網(wǎng)頁特征的爬蟲,所抓取遂填、存儲并索引的對象一般為網(wǎng)站或網(wǎng)頁铲觉;

基于目標數(shù)據(jù)模式的爬蟲,針對的是網(wǎng)頁上的數(shù)據(jù)吓坚,所抓取的數(shù)據(jù)一般要符合一定的模式撵幽,或者可以轉(zhuǎn)化或映射為目標數(shù)據(jù)模式;

基于領(lǐng)域概念的爬蟲礁击,是建立目標領(lǐng)域的本體或詞典盐杂,用于從語義角度分析不同特征在某一主題中的重要程度;

然后哆窿,爬蟲算法链烈,也是核心部分。

爬蟲算法挚躯,即網(wǎng)頁的抓取策略强衡,可以分為深度優(yōu)先、廣度優(yōu)先和最佳優(yōu)先三種码荔。

深度優(yōu)先在很多情況下會導致爬蟲的陷入(trapped)問題漩勤,目前常見的是廣度優(yōu)先和最佳優(yōu)先方法。

爬蟲找到了內(nèi)容缩搅,還要進行網(wǎng)頁分析锯七。

網(wǎng)頁分析算法可以歸納為基于網(wǎng)絡(luò)拓撲、基于網(wǎng)頁內(nèi)容和基于用戶訪問行為三種類型誉己。

以上的算法,被稱為網(wǎng)絡(luò)抓取或者爬蟲爬行域蜗。

很多站點巨双,尤其是搜索引擎,都使用爬蟲提供最新的數(shù)據(jù)霉祸,它主要用于提供它訪問過頁面的一個副本筑累,然后,搜索引擎就可以對得到的頁面進行索引丝蹭,以提供快速的訪問慢宗。

同時爬蟲也可以在web上用來自動執(zhí)行一些任務(wù),例如檢查鏈接,確認html代碼镜沽;也可以用來抓取網(wǎng)頁上某種特定類型信息敏晤。

看到這里,相信小伙伴們已經(jīng)明白了“爬蟲技術(shù)”本身就是一把雙刃劍了吧缅茉?

介紹完原理嘴脾,老司機告訴大家怎么安全使用爬蟲技術(shù),避免“面向監(jiān)獄編程”蔬墩。

道路千萬條,安全第一條,爬蟲不規(guī)范,碼農(nóng)兩行淚译打。

安全使用爬蟲技術(shù)的規(guī)范很多,各位小伙伴至少要記住一條:平衡禮貌策略拇颅!

爬蟲相比于人奏司,可以有更快的檢索速度和更深的層次,所以樟插,它們可能使一個站點癱瘓韵洋。

不需要說一個單獨的爬蟲一秒鐘要執(zhí)行多條請求,下載大的文件岸夯。一個服務(wù)器也會很難響應(yīng)多線程爬蟲的請求麻献。

爬蟲的使用對很多工作都是很有用的,但是對一般的網(wǎng)站猜扮,濫用爬蟲是有危害的勉吻,包括但不僅限于:

網(wǎng)絡(luò)資源:在很長一段時間,爬蟲使用相當?shù)膸捀叨炔⑿械毓ぷ鳎?/p>

服務(wù)器超載:尤其是對給定服務(wù)器的訪問過高時旅赢;

質(zhì)量糟糕的爬蟲齿桃,可能導致服務(wù)器或者路由器癱瘓,或者會嘗試下載自己無法處理的頁面煮盼。

對這些問題的一個部分解決方法是漫游器排除協(xié)議(Robots exclusion protocol)短纵,也被稱為robots.txt議定書。

robots協(xié)議也叫robots.txt(統(tǒng)一小寫)是一種存放于網(wǎng)站根目錄下的ASCII編碼的文本文件僵控,它通常告訴網(wǎng)絡(luò)爬蟲:此網(wǎng)站中的哪些內(nèi)容是不應(yīng)被搜索引擎的漫游器獲取的香到,哪些是可以被漫游器獲取的。

參考robots.txt去爬取數(shù)據(jù)报破,再設(shè)置一下間歇時間悠就,不會有人在意的。

比如大名鼎鼎的淘寶充易,就有robots.txt梗脾。可以訪問一下:

https://www.taobao.com/robots.txt

作為資深I(lǐng)T從業(yè)人員盹靴,本老司機給大家推薦幾個開源的炸茧、安全的瑞妇、放心使用的、爬蟲項目供大家學習:

? DataparkSearch是一個在GNU GPL許可下發(fā)布的爬蟲搜索引擎梭冠;

? ICDL Crawler是一個用C++編寫辕狰,跨平臺的網(wǎng)絡(luò)爬蟲。它僅僅使用空閑的CPU資源妈嘹,在ICDL標準上抓取整個站點柳琢;

? JSpider是一個在GPL許可下發(fā)行的,JAVA編寫的润脸,高度可配置的柬脸,可定制的網(wǎng)絡(luò)爬蟲引擎;

??YaCy是一個基于P2P網(wǎng)絡(luò)的免費的分布式搜索引擎(在GPL許可下發(fā)行)

最后毙驯,必須要說的是倒堕,作為一個技術(shù)人員,大家需要有些基本的判斷和法律意識爆价。

“不能因為老板要求什么就不加思考去干什么垦巴!”,尤其是涉及到用戶隱私等數(shù)據(jù)铭段。

作  者:Testfan Arthur

出  處:微信公眾號:自動化軟件測試平臺

版權(quán)說明:歡迎轉(zhuǎn)載骤宣,但必須注明出處,并在文章頁面明顯位置給出文章鏈接

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末序愚,一起剝皮案震驚了整個濱河市憔披,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌爸吮,老刑警劉巖芬膝,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異形娇,居然都是意外死亡锰霜,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門桐早,熙熙樓的掌柜王于貴愁眉苦臉地迎上來癣缅,“玉大人,你說我怎么就攤上這事哄酝∮汛妫” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵炫七,是天一觀的道長。 經(jīng)常有香客問我钾唬,道長万哪,這世上最難降的妖魔是什么侠驯? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮奕巍,結(jié)果婚禮上吟策,老公的妹妹穿的比我還像新娘。我一直安慰自己的止,他們只是感情好檩坚,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著诅福,像睡著了一般匾委。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上氓润,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天赂乐,我揣著相機與錄音,去河邊找鬼咖气。 笑死挨措,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的崩溪。 我是一名探鬼主播浅役,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼伶唯!你這毒婦竟也來了觉既?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤抵怎,失蹤者是張志新(化名)和其女友劉穎奋救,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體反惕,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡尝艘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了姿染。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片背亥。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖悬赏,靈堂內(nèi)的尸體忽然破棺而出狡汉,到底是詐尸還是另有隱情,我是刑警寧澤闽颇,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布盾戴,位于F島的核電站,受9級特大地震影響兵多,放射性物質(zhì)發(fā)生泄漏尖啡。R本人自食惡果不足惜橄仆,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望衅斩。 院中可真熱鬧盆顾,春花似錦、人聲如沸畏梆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奠涌。三九已至宪巨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間铣猩,已是汗流浹背揖铜。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留达皿,地道東北人天吓。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像峦椰,于是被迫代替她去往敵國和親龄寞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容