爬蟲及爬行方式
爬蟲有不少名字,好比web機器人、spider等,它是一種能夠在無需人類干預的狀況下自動進行一系列web事務處理的軟件程序。web爬蟲是一種機器人,它們會遞歸地對各類信息性的web站點進行遍歷,獲取第一個web頁面,而後獲取那個頁面指向的全部的web頁面,依次類推。因特網搜索引擎使用爬蟲在web上游蕩,並把他們碰到的文檔所有拉回來。而後對這些文檔進行處理,造成一個可搜索的數據庫。簡單來講,網絡爬蟲就是搜索引擎訪問你的網站進而收錄你的網站的一種內容採集工具。例如:百度的網絡爬蟲就叫作BaiduSpider。html
- 搜索引擎的爬蟲工做原理
網絡 < --- > 爬蟲 < --- > 網頁內容庫 < --- > 索引程序 < --- > 索引庫 < --- > 搜索引擎 < --- > 用戶
爬蟲程序須要注意的地方
-
連接提取以及相對連接的標準化前端
爬蟲在web上移動的時候會不停的對HTML頁面進行解析,它要對所解析的每一個頁面上的URL連接進行分析,並將這些連接添加到須要爬行的頁面列表中去。關於具體的方案咱們能夠查閱這篇文章web
- 避免環路的出現
web爬蟲在web上爬行時,要特別當心不要陷入循環之中,至少有如下三個緣由,環路對爬蟲來講是有害的。
- 他們會使爬蟲可能陷入可能會將其困住的循環之中。爬蟲不停的兜圈子,把全部時間都耗費在不停獲取相同的頁面上。
- 爬蟲不斷獲取相同的頁面的同時,服務器段也在遭受着打擊,它可能會被擊垮,阻止全部真實用戶訪問這個站點。
- 爬蟲自己變的毫無用處,返回數百份徹底相同的頁面的因特網搜索引擎就是這樣的例子。
同時,聯繫上一個問題,因爲URL「別名」的存在,即便使用了正確的數據結構,有時候也很難分辨出之前是否訪問過這個頁面,若是兩個URL看起來不同,但實際指向的是同一資源,就稱爲互爲「別名」。
搜索引擎優化
搜索引擎優化也叫SEO,瞭解了web爬蟲的工做方式於原理以後對SEO會有更好的認識,對於前端開發,須要注意的SEO有如下內容:服務器
- 突出重要內容
合理的title、description和keywords
雖然如今搜索對這三項的權重慢慢減少,但仍是但願可以合理的寫好他們,只寫有用的東西,不要在這裏寫小說,要表達重點。
title:只強調重點便可,重要關鍵詞出現不要超過2次,並且要靠前,每一個頁面title要有所不一樣description:把網頁內容高度歸納到這裏,長度要合理,不可過度堆砌關鍵詞,每一個頁面description要有所不一樣,keywords:列舉出幾個重要關鍵詞便可,也不可過度堆砌。
- 語義化書寫HTML代碼,符合W3C標準
對於搜索引擎來講,最直接面對的就是網頁HTML代碼,若是代碼寫的語義化,搜索引擎就會很容易的讀懂該網頁要表達的意思。
- 利用佈局,把重要內容HTML代碼放在最前
搜索引擎抓取HTML內容是從上到下,利用這一特色,可讓主要代碼優先讀取,讓爬蟲最早抓取
- 重要內容不要用JS輸出
爬蟲不會讀取JS裏的內容,因此重要內容必須放在HTML裏
- 盡少使用iframe框架
搜索引擎不會抓取到iframe裏的內容,重要內容不要放在框架中。
- 爲圖片加上alt屬性
alt屬性的做用是當圖片沒法顯示時以文字做爲代替顯示出來,對於SEO來講,它能夠令搜索引擎有機會索引你網站的圖片。
- 須要強調的地方能夠加上title屬性
在進行SEO優化時,適合將alt屬性設置爲圖片原本的含義,而將 ttitle屬性爲設置該屬性的元素提供建議性的信息。
- 爲圖片加上長寬
圖片大的會排在前面一點。
- 保留文字效果
若是須要兼顧用戶體驗和SEO效果,在必須用圖片的地方,例如個性字體的標題,咱們能夠利用樣式控制,讓文本文字不會出如今瀏覽器上,但在網頁代碼中是有該標題的。
注意:不可以使用display:none;的方法讓文字隱藏,由於搜索引擎會過濾掉display:none;裏邊的內容,就不會被蜘蛛檢索了。
- 提升網站速度
網站速度是搜索引擎排序的一個重要指標
- 對於指向外部網站的連接要使用rel="nofollow"屬性告訴爬蟲不要去爬其餘的頁面