瀏覽器收集信息原理
對于百度來說,核心業務是搜索引擎,而對于搜索引擎抓取信息的原理,蜘蛛(爬蟲)是實現大量的爬去信息的一個程序。
百度已經屹立中國十來年了,在不斷的技術改進中,爬蟲技術也不斷升級。大概以主動被動可以分為兩個階段。
一、百度主動抓取
1、抓取。對于更早期的百度,沒有太多信息存儲的時期,百度當然是主動出擊,先通過配置幾個大網站,然后通過這些網站的外鏈等又不斷的爬去其他網站。這階段也產生了所謂的SEO外鏈為王的口號。比如:配置新浪、搜狐等的新聞頻道,然后配置門戶的博客頻道。通過這些網站不斷的去抓取一個有一個的鏈接。
2、分析、存儲。對于任何一個蜘蛛爬了的鏈接,會對內容進行分析,然后存儲。
二、由網站主動提交規則的數據給百度
這個階段大概也就近幾年比較多見,畢竟百度的信息儲存量已經多的爆炸,沒有必要耗費太多精力自己主動去爬蟲過多無意義的鏈接。
百度采取提供一個標準的XML,讓網站主動把網站新生產的數據提交給百度,然后收錄。
來源:https://www.zhihu.com/question/35373472
每個SEO工作人員都要理解搜索引擎的基本原理,只有充分理解了搜索引擎的工作原理,才能讓我們更好的從根本上理解SEO技巧,通過了解搜索引擎原理,讓很多問題迎刃而解,今天51商務網(www.51987.cn)小編就跟大家講講搜索引擎(百度)的工作原理,第一爬行和抓取:
搜索引擎的工作過程一般分為三個階段:
爬行和抓取:通過搜索引擎蜘蛛跟蹤鏈接和訪問頁面,抓取內容,存入數據庫。
預處理:搜索引擎抓取的數據,會進行文字提取,中文分詞,索引,倒排索引,方便日后排名程序調用。
排名:用戶輸入查詢關鍵以后,排名程序會調用索引庫數據,按相關性生成搜索結果頁面。
一、蜘蛛爬行和抓取是搜索引擎的第一步,收集數據的過程。
搜索引擎是爬行和訪問頁面的自動程序收集數據,這種程序也叫蜘蛛或者機器人。搜索引擎蜘蛛訪問網站類似于我們瀏覽網站,也可以理解蜘蛛爬行就像司令部放出去的收集情報員一樣。搜索引擎蜘蛛訪問網站是和普通用戶基本一致的,蜘蛛程序訪問頁面以后,服務器會返回HTML代碼,蜘蛛程序會把代碼,出入原始頁面數據庫,搜索引擎會同時使用很多蜘蛛程序提高抓取數據的效率。搜索引擎為了提高爬行和抓取速度,都使用多個蜘蛛進行發布和爬行,情報員多了,自然信息收集的就會更多,工作效率也就更高了。蜘蛛訪問網站時,會先訪問網站的robots.txt文件,如果robots.txt文件里頭有止訪問的文件或者目錄,蜘蛛就不會抓取。其實就是入鄉隨俗,比如:回族人不吃豬肉,你雖然是客人,去了回族地域,也需要遵守當地習俗,就是這個意思。搜索引擎蜘蛛也是有自己的用戶代理名稱的,就好像警察的工作證一樣,執行公務的時候都要先把證件拿出來,蜘蛛也是一樣的,站長可以通過日志文件看到蜘蛛的用戶代理,從而識別出到底是什么網站的搜索引擎蜘蛛。
比如:百度蜘蛛:Baiduspider+(+http://www.baidu.com/search/spider.html)
360蜘蛛:Mozilla5.0(Windows;U;Windows NT5.1;zh-CN;)Firefox/1.5.0.11;360Spider
谷歌蜘蛛:Mozilla5.0(compatible;Googlebot/2.1;+http://www.google.com/bot.html)
谷歌移動:Mozilla5.0(iPhone;CPU iPhone OS 6_0 like Mac OS X)AppleWebKit/536.26(KHTML,likeGecko)Version/6.0Mobile/10A5376e Safari/8536.25(compatible;Googlebot/2.1;+http://www.google.com/bot.html)
搜狗蜘蛛:Sogou+web+robot+(+http:www.sogou.com/docs/help/webmasters.html#07)
二、跟蹤鏈接
為了爬取更多的頁面蜘蛛,都是靠跟蹤網頁的的鏈接爬取的,從一個頁面到另一個頁面,蜘蛛從任何一個頁面出發都能爬取到網上所有的頁面,不過,網站的機構復雜,信息太多,所有蜘蛛爬行也是有一定策略的,一般是2中深度優先和廣度優先。

從理論上講,只要給蜘蛛足夠的時間,就能爬完所有網絡內容。其實在實際工作過程中,帶寬和時間都不是無限的,也不可能爬完所有的頁面。最大的搜索引擎也只能爬取和收錄小部分內容。
三、吸引蜘蛛
由此可見,雖然蜘蛛能爬行和抓取頁面,但實際上還有很多頁面蜘蛛是沒有爬到的位置,所以我們就要想辦法去吸引蜘蛛讓蜘蛛來我這里爬取和抓取頁面。既然不能抓取所有頁面,肯定是要讓蜘蛛抓取重要的頁面。哪些頁面比較重要?有幾個方面的影響因素:
1. 網站和頁面權重
一般質量高,資格老的網站被認為是權重比較高,所以這種網站一般搜索的頁面會更多,蜘蛛的爬行深度也會比較高。
2. 更新速度
一般每次蜘蛛爬行完了,會把頁面保存起來,如果第二次來的時候頁面完全沒有變化,就說明內頁沒有更新,多次爬取對頁面更新的速度有了了解,蜘蛛就不會頻繁的抓取這個網站;相反,如果每次抓取都有新的內容,蜘蛛就會頻繁的抓取這個網站的內容,從而,這個網站的新內容也會更快的被蜘蛛跟蹤。
3. 導入鏈接
無論是外部鏈接還是內容鏈接,如果想要蜘蛛抓取就必須要有鏈接導出,不然蜘蛛都沒有機會知道這個頁面的存在。高質量的導入鏈接也會是頁面的上的導出鏈接的爬行深度增加。
【導入鏈接:其他網站鏈接到我站;導出鏈接:我鏈接到其他人的網站,單向的。】
4. 與首頁的點擊距離
一般網站的首頁是權重最高的,也是蜘蛛訪問最頻繁的。大部分外部鏈接指向的都是首頁。所以距離首頁越近的頁面,權重也會更好,被蜘蛛爬行的幾率也會越大。
5. URL結構
頁面權重一般是收錄以后進行迭代計算才是到的,那么搜索引擎蜘蛛在抓取前怎么知道這個頁面的權重呢?其實蜘蛛會進行預判,除了鏈接、與首頁距離、歷史數據等因素以外,短的,層次淺的URL可能會被會被直管的認為是是權重比較高的網站。
四、地址庫
為了避免重復爬行和抓取地址,搜索引擎會建立一個地址庫,記住已經被發現和沒有抓取的網址,以及已經抓取的網址,蜘蛛發現鏈接后,并不是馬上訪問,而是出入地址庫中,然后統一抓取。
*地址庫的URL有幾個來源:
自己錄入的種子網站,蜘蛛抓取頁面中的URL(會先和庫里的數據比對,沒有的會保存。),站長提交的網頁地址,站長通過XML網站地圖站長平臺提交的鏈接。
一般站長提交上來的網址,會先存入地址庫,能否被收錄要看網頁內容的重要性,搜索引擎的大部分內容來與蜘蛛爬取,提交的頁面微乎其微,搜索引擎更喜歡自己爬取內容。
五、文件存儲
搜索引擎蜘蛛抓取的數據通統一放到原始數據庫,與頁面數據和用戶瀏覽的搜索引擎完全一樣,每一個URL都會有一個自己的編號。
六、爬行時文章的內容重復性檢測
檢測和刪除重復數據一般是在預處理過程中進行的,但是蜘蛛在爬行過程也會檢測數據的的重復情況,如果遇到權重低的網站出現大量轉載和抄襲的各種文章,蜘蛛就會不在繼續爬行,這也是為什么很多站長看日志蜘蛛來過,但是網頁基本不收錄的原因。
作者:0f002a5a6427
鏈接:https://www.jianshu.com/p/e30362ae5856
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

浙公網安備 33010602011771號