爬蟲及爬行方式.爬蟲有很多名字,比如web機器人、spider等,它是一種可以在無需人類干預(yù)的情況下自動進行一系列web事務(wù)處理的軟件程序。web爬蟲是一種機器人,它們會遞歸地對各種信息性的web站點進行遍歷,獲取第一個web頁面,然后獲取那個頁面指向的所有的web頁面,依次類推。因特網(wǎng)搜索引擎使用爬蟲在web上游蕩,并把他們碰到的文檔全部拉回來。然后對這些文檔進行處理,形成一個可搜索的數(shù)據(jù)庫。簡單來說,網(wǎng)絡(luò)爬蟲就是搜索引擎訪問你的網(wǎng)站進而收錄你的網(wǎng)站的一種內(nèi)容采集工具。例如:百度的網(wǎng)絡(luò)爬蟲就叫做BaiduSpider。
搜索引擎的爬蟲工作原理
網(wǎng)絡(luò) 爬蟲 網(wǎng)頁內(nèi)容庫 索引程序 索引庫 搜索引擎 用戶
爬蟲程序需要注意的地方
鏈接提取以及相對鏈接的標準化
爬蟲在web上移動的時候會不停的對HTML頁面進行解析,它要對所解析的每個頁面上的URL鏈接進行分析,并將這些鏈接添加到需要爬行的頁面列表中去。關(guān)于具體的方案我們可以查閱這篇文章
避免環(huán)路的出現(xiàn)
web爬蟲在web上爬行時,要特別小心不要陷入循環(huán)之中,至少有以下三個原因,環(huán)路對爬蟲來說是有害的。
他們會使爬蟲可能陷入可能會將其困住的循環(huán)之中。爬蟲不停的兜圈子,把所有時間都耗費在不停獲取相同的頁面上。
爬蟲不斷獲取相同的頁面的同時,服務(wù)器段也在遭受著打擊,它可能會被擊垮,阻止所有真實用戶訪問這個站點。
爬蟲本身變的毫無用處,返回數(shù)百份完全相同的頁面的因特網(wǎng)搜索引擎就是這樣的例子。
同時,聯(lián)系上一個問題,由于URL“別名”的存在,即使使用了正確的數(shù)據(jù)結(jié)構(gòu),有時候也很難分辨出以前是否訪問過這個頁面,如果兩個URL看起來不一樣,但實際指向的是同一資源,就稱為互為“別名”。
標記為不爬取
可以在你的網(wǎng)站中創(chuàng)建一個純文本文件robots.txt,在這個文件中聲明該網(wǎng)站中不想被蜘蛛訪問的部分,這樣,該網(wǎng)站的部分或全部內(nèi)容就可以不被搜索引擎訪問和收錄了,或者可以通過robots.txt指定搜 索引擎只收錄指定的內(nèi)容。搜索引擎爬行網(wǎng)站第一個訪問的文件就是robot.txt。同樣也可以把鏈接加上rel="nofollow"標記。
避免環(huán)路與循環(huán)方案
規(guī)范化URL
廣度優(yōu)先的爬行
以廣度優(yōu)先的方式去訪問就可以將環(huán)路的影響最小化。
節(jié)流
限制一段時間內(nèi)爬蟲可以從一個web站點獲取的頁面數(shù)量,也可以通過節(jié)流來限制重復(fù)頁面總數(shù)和對服務(wù)器訪問的總數(shù)。
限制URL的大小
如果環(huán)路使URL長度增加,長度限制就會最終終止這個環(huán)路
URL黑名單
人工監(jiān)視
搜索引擎優(yōu)化
搜索引擎優(yōu)化也叫SEO,了解了web爬蟲的工作方式于原理之后對SEO會有更好的認識,對于前端開發(fā),需要注意的SEO有以下內(nèi)容:
突出重要內(nèi)容
合理的title、description和keywords
雖然現(xiàn)在搜索對這三項的權(quán)重慢慢減小,但還是希望能夠合理的寫好他們,只寫有用的東西,不要在這里寫小說,要表達重點。
title:只強調(diào)重點即可,重要關(guān)鍵詞出現(xiàn)不要超過2次,而且要靠前,每個頁面title要有所不同description:把網(wǎng)頁內(nèi)容高度概括到這里,長度要合理,不可過分堆砌關(guān)鍵詞,每個頁面description要有所不同,keywords:列舉出幾個重要關(guān)鍵詞即可,也不可過分堆砌。
語義化書寫HTML代碼,符合W3C標準
對于搜索引擎來說,最直接面對的就是網(wǎng)頁HTML代碼,如果代碼寫的語義化,搜索引擎就會很容易的讀懂該網(wǎng)頁要表達的意思。
利用布局,把重要內(nèi)容HTML代碼放在最前
搜索引擎抓取HTML內(nèi)容是從上到下,利用這一特點,可以讓主要代碼優(yōu)先讀取,讓爬蟲最先抓取
重要內(nèi)容不要用JS輸出
爬蟲不會讀取JS里的內(nèi)容,所以重要內(nèi)容必須放在HTML里
盡少使用iframe框架
搜索引擎不會抓取到iframe里的內(nèi)容,重要內(nèi)容不要放在框架中。
為圖片加上alt屬性
alt屬性的作用是當圖片無法顯示時以文字作為代替顯示出來,對于SEO來說,它可以令搜索引擎有機會索引你網(wǎng)站的圖片。
需要強調(diào)的地方可以加上title屬性
在進行SEO優(yōu)化時,適合將alt屬性設(shè)置為圖片本來的含義,而將 ttitle屬性為設(shè)置該屬性的元素提供建議性的信息。
為圖片加上長寬
圖片大的會排在前面一點。
保留文字效果
如果需要兼顧用戶體驗和SEO效果,在必須用圖片的地方,例如個性字體的標題,我們可以利用樣式控制,讓文本文字不會出現(xiàn)在瀏覽器上,但在網(wǎng)頁代碼中是有該標題的。
注意:不可使用display:none;的方法讓文字隱藏,因為搜索引擎會過濾掉display:none;里邊的內(nèi)容,就不會被蜘蛛檢索了。
提高網(wǎng)站速度
網(wǎng)站速度是搜索引擎排序的一個重要指標
對于指向外部網(wǎng)站的鏈接要使用rel="nofollow"屬性告訴爬蟲不要去爬其他的頁面
上一篇:SEO人人都可以學嗎
下一篇:如何進行seo分析?