因素
網站對搜尋引擎蜘蛛不友好的因素
1、robots.txt檔案
2、nofollow標籤
3、flash
4、圖片
5、JavaScript
6、網站遊覽許可權
7、強制使用cookies
8、HTTP返回碼
9、伺服器
10、域名解析
11、網站程式完善
12、動態URL
13、框架結構
14、session id
爬蟲框架流程
首先從網際網路頁面中精心選擇一部分網頁,以這些網頁的連結地址作為種子URL,將這些種子URL放入待抓取URL佇列中,爬蟲從待抓取URL佇列依次讀取,並將URL通過DNS解析,把連結地址轉換為網站伺服器對應的IP位址。
然後將其和網頁相對路徑名稱交給網頁下載器,網頁下載器負責頁面內容的下載。對於下載到本地的網頁,一方面將其存儲到頁面庫中,等待建立索引等後續處理;另一方面將下載網頁的URL放入已抓取URL佇列中,這個佇列記載了爬蟲系統已經下載過的網頁URL,以避免網頁的重複抓取。對於剛下載的網頁,從中抽取出所包含的所有連結信息,並在已抓取URL佇列中檢查,如果發現連結還沒有被抓取過,則將這個URL放入待抓取URL佇列末尾,在之後的抓取調度中會下載這個URL對應的網頁。如此這般,形成循環,直到待抓取URL佇列為審,這代表著爬蟲系統已將能夠抓取的網頁盡數抓完,此時完成了一輪完整的抓取過程。
常見搜尋引擎
Google爬蟲
算法優秀,反應速度迅速,對內容質量把握優秀,中等強度爬蟲程式,對伺服器負擔不大,推廣效果好。
對應user-agent:爬蟲名稱
Googlebot:google網頁爬蟲
Googlebot-news:google新聞爬蟲
Googlebot-image:google圖片爬蟲
Googlebot-video:google視頻爬蟲
Googlebot-mobile:google移動爬蟲
Mediapartners-google或Mediapartners(googlebot):google廣告爬蟲
Adsbot-google:google著陸頁質量檢測爬蟲
百度爬蟲
算法良好,反應速度遲鈍,對內容質量把握一般,高強度爬蟲程式,由於算法最佳化不良問題,對伺服器負擔較大,本身小問題也挺多,隱私保護惡劣,在百度面前無隱私可言,推廣效果好。
對應user-agent:爬蟲名稱
Baiduspider:百度網頁爬蟲兼移動爬蟲
Baiduspider-image:百度圖片爬蟲
Baiduspider-video:百度視頻爬蟲
Baiduspider-news:百度新聞爬蟲
Baiduspider-favo:百度搜藏爬蟲
Baiduspider-cpro:百度聯盟爬蟲
Baiduspider-ads:百度商務爬蟲
好搜爬蟲
對應user-agent:爬蟲名稱
360spider或haosouspider:好搜網頁爬蟲兼移動爬蟲
360spider-image:好搜圖片爬蟲
360spider-video:好搜視頻爬蟲
搜狗爬蟲
算法惡劣,反應速度極其遲鈍,不能良好的把握內容質量,高強度爬蟲程式,由於算法奇差,會對頁面進行大量反覆而又無實際意義的掃描,對伺服器負擔很大,抓取壓力大,綜合性價比非常低。
對應user-agent:爬蟲名稱
Sogou spider:搜狗綜合爬蟲
新浪愛問爬蟲
對應user-agent:爬蟲名稱
Iaskspider:新浪愛問爬蟲
有道爬蟲
對應user-agent:爬蟲名稱
YodaoBot:網易有道爬蟲
Alexa爬蟲
對應user-agent:爬蟲名稱
ia_archiver:Alexa爬蟲
雅虎爬蟲
對應user-agent:爬蟲名稱
Yahoo! Slurp:雅虎爬蟲
必應爬蟲
對應user-agent:爬蟲名稱
Bingbot:必應爬蟲
爬蟲類型
根據不同的套用,爬蟲系統在許多方面存在差異,大體而言,可以將爬蟲劃分為如下三種類型:
1. 批量型爬蟲(Batch Crawler):批量型爬蟲有比較明確的抓取範圍和目標,當爬蟲達到這個設定的目標後,即停止抓取過程。至於具體目標可能各異,也許是設定抓取一定數量的網頁即可,也許是設定抓取消耗的時間等。
2.增量型爬蟲(Incremental Crawler):增量型爬蟲與批量型爬蟲不同,會保持持續不斷的抓取,對於抓取到的網頁,要定期更新,因為網際網路的網頁處於不斷變化中,新增網頁、網頁被刪除或者網頁內容更改都很常見,而增量型爬蟲需要及時反映這種變化,所以處於持續不斷的抓取過程中,不是在抓取新網頁,就是在更新已有網頁。通用的商業搜尋引擎爬蟲基本都屬此類。
3.垂直型爬蟲(Focused Crawter):垂直型爬蟲關注特定主題內容或者屬於特定行業的網頁,比如對於健康網站來說,只需要從網際網路頁里找到與健康相關的頁面內容即可,其他行業的內容不在考慮範圍。垂直型爬蟲一個最大的特點和難點就是:如何識別網頁內容是否屬於指定行業或者主題。從節省系統資源的角度來說,不太可能把所有網際網路頁面下載下來之後再去篩選,這樣浪費資源就太過分了,往往需要爬蟲在抓取階段就能夠動態識別某個網址是否與主題相關,並儘量不去抓墩無關頁面,以達到節省資源的目的。垂直搜尋網站或者垂直行業網站往往需要此種類型的爬蟲。
網站建設如何吸引蜘蛛來抓取網站內容
1、網站和頁面的權重大小依然被作為衡量網站價值的重要標準,高質量老資格的網站被百度評為高權重,這種網站的頁面被蜘蛛抓取的機率比較高,所以會有很多內頁被收錄。
2、頁面更新頻率會直接影響蜘蛛的光臨頻率,蜘蛛把每次光臨獲得的頁面數據保存到伺服器上,如果下次光臨頁面發現內容跟儲存數據相同,那么會被蜘蛛認為頁面不會經常更新,然後會給網站一個優先權,來決定以後光臨的時間和頻率。如果網站內容經常更新,每次蜘蛛抓取的內容都不一樣,那么蜘蛛會更加頻繁的訪問這類頁面,頁面出現的新連線也自然會被爬取收錄。
3、引導連結的建立,無論網站的外部連結或內部連結,想要被蜘蛛抓取,必須有引導連結進入頁面,所以內部連結的合理性搭建非常重要,否則蜘蛛無法發現頁面的存在。高質量的外部連結導入也是非常重要的,會增加蜘蛛跟蹤爬行深度的增加。
4、建立首頁的引導連結,蜘蛛訪問最頻繁的是首頁,有內容更新時,一定要在首頁體現出來並建立連結,便於蜘蛛最快抓取到,增加抓取機會。
5、原創內容,蜘蛛最厲害的是會對網站新發布內容同伺服器收錄數據做比對,如果是抄襲或部分修改的非原創偽原創內容,百度是不會收錄的,如果經常發布的是非原創內容,那么也會降低蜘蛛的光臨頻率,嚴重的直接不收錄,甚至0收錄。