成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

通俗的講,網(wǎng)絡爬蟲到底是什么?

開發(fā) 前端
爬蟲的起源可以追溯到萬維網(wǎng)(互聯(lián)網(wǎng))誕生之初,一開始互聯(lián)網(wǎng)還沒有搜索。在搜索引擎沒有被開發(fā)之前,互聯(lián)網(wǎng)只是文件傳輸協(xié)議(FTP)站點的集合,用戶可以在這些站點中導航以找到特定的共享文件。

爬蟲的起源

爬蟲的起源可以追溯到萬維網(wǎng)(互聯(lián)網(wǎng))誕生之初,一開始互聯(lián)網(wǎng)還沒有搜索。在搜索引擎沒有被開發(fā)之前,互聯(lián)網(wǎng)只是文件傳輸協(xié)議(FTP)站點的集合,用戶可以在這些站點中導航以找到特定的共享文件。

為了查找和組合互聯(lián)網(wǎng)上可用的分布式數(shù)據(jù),人們創(chuàng)建了一個自動化程序,稱為網(wǎng)絡爬蟲/機器人,可以抓取互聯(lián)網(wǎng)上的所有網(wǎng)頁,然后將所有頁面上的內(nèi)容復制到數(shù)據(jù)庫中制作索引。

 

通俗的講,網(wǎng)絡爬蟲到底是什么?

爬蟲的發(fā)展

隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡上的資源變得日益豐富但卻駁雜不堪,信息的獲取成本變得更高了。

相應地,也日漸發(fā)展出更加智能,且適用性更強的爬蟲軟件。

它們類似于蜘蛛通過輻射出去的蛛網(wǎng)來獲取信息,繼而從中捕獲到它想要的獵物,所以爬蟲也被稱為網(wǎng)頁蜘蛛,當然相較蛛網(wǎng)而言,爬蟲軟件更具主動性。另外,爬蟲還有一些不常用的名字,像螞蟻/模擬程序/蠕蟲。

爬蟲的工作流程大致如下:

 

通俗的講,網(wǎng)絡爬蟲到底是什么?

通常,爬取網(wǎng)頁數(shù)據(jù)時,只需要2個步驟:

打開網(wǎng)頁→將具體的數(shù)據(jù)從網(wǎng)頁中復制并導出到表格或資源庫中。

簡單來說就是,抓取和復制。

爬蟲的君子協(xié)議

搜索引擎的爬蟲是善意的,可以檢索你的一切信息,并提供給其他用戶訪問,為此它們還專門定義了robots.txt文件,作為君子協(xié)議。

Robots協(xié)議(爬蟲協(xié)議)的全稱是“網(wǎng)絡爬蟲排除標準”(Robots Exclusion Protocol),網(wǎng)站通過Robots協(xié)議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取。該協(xié)議是國際互聯(lián)網(wǎng)界通行的道德規(guī)范,雖然沒有寫入法律,但是每一個爬蟲都應該遵守這項協(xié)議。

以淘寶網(wǎng)的robots.txt為例,

 

通俗的講,網(wǎng)絡爬蟲到底是什么?

以 Allow 項的值開頭的 URL 是允許 robot 訪問的。例如,Allow:/article 允許百度爬蟲引擎訪問 /article.htm、/article/http://12345.com 等。

以 Disallow 項為開頭的鏈接是不允許百度爬蟲引擎訪問的。例如,Disallow:/product/ 不允許百度爬蟲引擎訪問 /product/http://12345.com 等。

最后一行,Disallow:/ 禁止百度爬蟲訪問除了 Allow 規(guī)定頁面外的其他所有頁面。

所以你是不能從百度上搜索到淘寶內(nèi)部的產(chǎn)品信息的。

君子協(xié)議雖好,然而事情很快就被一些人破壞了,于是就有了反爬蟲。

爬蟲與反爬蟲

爬蟲與反爬蟲是“矛”與“盾”的攻守關系,有了爬蟲自然也就有了反爬蟲。

一些企業(yè)為了保證服務器的正常運轉,降低服務器的運轉壓力與成本,不得不使出各種各樣的手段來阻止爬蟲工程師毫無節(jié)制地向服務器索取資源,這種行為我們稱之為反爬蟲。

在爬蟲與反爬蟲的較量上,一些反爬手段常常會讓人津津樂道,比如,文本混淆反爬蟲、動態(tài)渲染反爬蟲、信息校驗反爬蟲、代碼混淆反爬蟲……等等。

反爬蟲技術是如何對爬蟲進行防御的,其實現(xiàn)原理是什么?以下就以信息校驗反爬為例,請《鹿鼎記》的韋香主給大家做一下演示。

 

[[322647]]

假設天地會赤火堂香主派人從京城前往揚州將一封非常重要的密函交給青木堂香主韋小寶,我們可以將這件事抽象為下圖:

 

通俗的講,網(wǎng)絡爬蟲到底是什么?

這件事的核心是「幫派成員-甲將重要密函交給幫派成員-乙」。假設甲、乙雙方互不相識亦從未有過會面,那「幫派成員-甲」如何判斷密函交給了「幫派成員-乙」,而不是給錯人——給了其他「幫派成員-丁」呢?

在歷史實踐中肯定吃過這樣的虧,遂天地會采用了接頭暗號這種方式來確保甲、乙雙方是同一幫派成員,這才有了:

  • 地鎮(zhèn)高崗,一派溪山千古秀;
  • 門朝大海,三河合水萬年流。

暗號只有幫派成員才知道,且不可外泄。甲、乙雙方見面時由「幫派成員-甲」說出「地鎮(zhèn)高崗,一派溪山千古秀」,「幫派成員-乙」聽到后必須接下一句「門朝大海,三河合水萬年流」。如果「幫派成員-乙」不知道下一句是什么,或者胡說一氣,那么「幫派成員-甲」就可以判定他不是接頭人,而是冒充的。

 

通俗的講,網(wǎng)絡爬蟲到底是什么?

同樣的,「幫派成員-乙」要聽到幫派成員-甲說出「地鎮(zhèn)高崗,一派溪山千古秀」。否則「幫派成員-甲」就是冒充的,很有可能會將假的密函交給青木堂韋小寶。

 

通俗的講,網(wǎng)絡爬蟲到底是什么?

天地會接頭人互相傳遞消息(密函)很像是我們在開發(fā) WEB 應用時的 Client 和 Server,抽象地看起來像這樣:

 

通俗的講,網(wǎng)絡爬蟲到底是什么?

那么問題來了,Client 和 Server 之間需不需要天地會這樣的暗號呢?

答案是需要!

 

通俗的講,網(wǎng)絡爬蟲到底是什么?

Client 就像「幫派成員-甲」,Server 就像「幫派成員-乙」,而他們的密函很有可能會被其他「幫派成員-丁」拿走或偽造。既然天地會有接頭暗號,那么 Client 和 Server 之間用什么來保障傳遞消息是第一手發(fā)出,而不是被攔截偽造的呢?

沒錯,簽名驗證!

簽名驗證是目前 IT 技術領域應用廣泛的 API 接口數(shù)據(jù)保護方式之一,它能夠有效防止消息接收端將被篡改或偽造的消息當作正常消息處理。

要注意的是,它的作用是防止消息接收端將被篡改或偽造的消息當作正常消息處理,而不是防止消息接受端接收假消息,事實上接口在收到消息的那一刻無法判斷消息的真假。這一點非常重要,千萬不要混淆了。

假設 Client 要將「下個月 5 號刺殺鰲拜」這封重要密函交給 Server,抽象圖如下:

 

通俗的講,網(wǎng)絡爬蟲到底是什么?

這時候如果發(fā)生冒充事件,會帶來什么影響:

 

通俗的講,網(wǎng)絡爬蟲到底是什么?

其他「幫派成員-丁」從 Client 那里獲得消息后進行了偽造,將刺殺鰲拜的時間從 5 號改為 6號,導致 Server 收到的刺殺時間是 6 號。這么一來,里應外合刺殺鰲拜的事就會變成一方延遲動手,這次謀劃已久的刺殺行動大概率會失敗,而且會造成不小的損失。

我們使用簽名驗證來改善這個消息傳遞和驗證的事。這里可以簡單將簽名驗證理解為在原消息的基礎上進行一定規(guī)則的運算和加密,最終將加密結果放到消息中一并發(fā)送,消息接收者拿到消息后按照相同的規(guī)則進行運算和加密,將自己運算得到的加密值和傳遞過來的加密值進行比對,如果兩值相同則代表消息沒有被攔截偽造,反之可以判定消息被攔截偽造。

簽名驗證被廣泛應用,例如下載操作系統(tǒng)鏡像文件時官方網(wǎng)站會提供文件的 MD5 值、阿里巴巴/騰訊/華為等企業(yè)對外開放的接口中鑒權部分的 sign 值等。

以上反爬方法選自《Python3 反爬蟲原理與繞過實戰(zhàn)》

寫在最后

爬蟲本身并未違反法律。但程序運行過程中可能對他人經(jīng)營網(wǎng)站造成破壞,爬取的數(shù)據(jù)有可能涉及隱私或機密,數(shù)據(jù)本身也可能產(chǎn)生法律糾紛。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2017-10-30 12:14:20

云計算云平臺云服務

2021-01-18 13:05:52

Serverless Serverfull FaaS

2023-03-26 12:27:30

2022-10-08 00:00:00

Spring數(shù)據(jù)庫項目

2020-03-05 10:28:19

MySQLMRR磁盤讀

2011-04-27 09:30:48

企業(yè)架構

2020-09-27 06:53:57

MavenCDNwrapper

2020-09-22 08:22:28

快充

2020-10-14 06:22:14

UWB技術感知

2010-11-01 01:25:36

Windows NT

2009-06-09 22:11:44

JavaScriptObject

2023-10-11 08:29:54

volatileJava原子性

2013-06-09 09:47:31

.NetPDBPDB文件

2021-09-03 09:12:09

Linux中斷軟件

2019-10-30 10:13:15

區(qū)塊鏈技術支付寶

2010-04-22 14:14:29

Live-USB

2020-08-04 14:20:20

數(shù)據(jù)湖Hadoop數(shù)據(jù)倉庫

2021-09-01 23:29:37

Golang語言gRPC

2021-01-21 21:24:34

DevOps開發(fā)工具

2021-02-05 10:03:31

區(qū)塊鏈技術智能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色偷偷888欧美精品久久久 | 99精品视频在线观看 | 免费精品 | 日韩中文字幕 | 久久精品综合 | 日韩欧美在线观看 | 久久毛片 | 日本一区高清 | 国产精品亚洲一区二区三区在线 | 亚洲欧美国产视频 | av在线一区二区三区 | 日韩精品一区二区三区在线 | 国产伦精品一区二区三区照片91 | 玖玖综合在线 | 一级黄色裸片 | 国产91视频一区二区 | 久久激情av | 久久久性色精品国产免费观看 | 黄色成人av| 久久亚洲一区二区 | 国产中文视频 | 蜜桃视频在线观看免费视频网站www | 欧美美女爱爱视频 | 久久精品国产一区老色匹 | 亚洲精品一区二区在线观看 | 国产在线一区二区三区 | 成人影音 | 欧美一区二区在线 | 欧美日韩精品久久久免费观看 | 高清一区二区三区 | 精品久久久久久久久久久 | 老头搡老女人毛片视频在线看 | 久久久五月天 | 免费一二区 | 免费成人高清在线视频 | 欧美成人综合 | 国产日韩一区二区三免费高清 | 九九久久久 | 日韩免费视频 | 国产一级淫片a直接免费看 免费a网站 | a a毛片 |