這純粹是一條個人喜好,,我經(jīng)常拿HTTrack模擬搜索引擎爬蟲用,。 HTTrack是一個網(wǎng)站鏡像工具,本來是用來抓取網(wǎng)站做離線瀏覽用的,。但是我發(fā)現(xiàn)它的爬蟲特性和搜索引擎爬蟲非常的像,,逐漸應(yīng)用到了自己的SEO工作中。其實這兩種看似不同的爬蟲做的都是同樣的工作,,就是復(fù)制網(wǎng)站并存儲下來(搜索引擎的網(wǎng)頁快照就是被存儲下來的內(nèi)容),。以下是這個軟件的界面:
軟件的官方網(wǎng)站是:http://www./ 軟件安裝后可以換成中文界面。 一般用它來檢測網(wǎng)站的壞鏈接和測試搜索引擎對這個網(wǎng)站可能面臨的抓取問題,。另外用它也可以探知一些SEO做法的由來。 軟件的使用方法非常簡單,,在“Web地址”里填上URL就可以了,。然后點“選項”, 先看“掃描規(guī)則” 這樣的掃描規(guī)則搜索引擎也一定會有的,,比如不收錄.exe文件,zip文件等等,。然后不收錄一些特定的跟蹤鏈接, 如 ad.doubleclick.net ,。你需要把一些搜索引擎爬蟲不收錄的特征加進(jìn)去,。 然后在“搜尋”里面,很多的特征都是現(xiàn)在搜索引擎爬蟲的特征: 搜索引擎不會接受cookie,所以取消“接收cookie”,。 至于“解析java文件”,,google 爬蟲也會去解析java文件的。這是一個像HTTrack這樣的通用爬蟲都可以做到的事情,??赡芎芏嗳诉€不知道,,google會去試圖解析javascript代碼。如果你的頁面上放很多javascript代碼,,就會使爬蟲的停留時間增加,,進(jìn)而影響爬蟲效率。這也可以算是為什么要把javascript代碼外調(diào)的另一個原因,。 還有,,有些javascript代碼里面的URL,google爬蟲是可以收錄的,,原因不明,。這樣做可能是因為有些內(nèi)容很好的網(wǎng)站,很多鏈接就是喜歡用javascript來做的緣故吧,。但是不代表你的鏈接可以用javascript來做,。 HTTrack也同樣能識別并遵守robots.txt文件。 至于url hacks ,,就是讓那種帶 www和不帶www的網(wǎng)址,,如www.***.com和 ***.com。以及有斜杠和無斜杠的網(wǎng)址,,如http://www.***.com 和 www.***.com 能統(tǒng)一,。 這種網(wǎng)站上URL不統(tǒng)一的狀況爬蟲程序其實能很簡單的處理好。至于google為什么要網(wǎng)站所有者在webmaster tool 后臺指定一下“首選域”,,是因為有些網(wǎng)站 www.***.com 和***.com 指向不同的內(nèi)容,。所以google不能那么武斷的就認(rèn)為www.***.com 和***.com是同一個網(wǎng)站。 至于“流量控制”和“限制”,, 里面可以設(shè)置“連接數(shù)”和“深度”什么的,。我相信google也有這些設(shè)置,不然,,google的《網(wǎng)站質(zhì)量指南》里不會這么寫“如果站點地圖上的鏈接超過 100 個,,則需要將站點地圖拆分為多個網(wǎng)頁?!?br>至于深度,,有報告說,google抓取的最大深度是12,。超時時間可以設(shè)為10秒,。 還有其他“瀏覽器標(biāo)識”和“預(yù)存區(qū)”也和搜索引擎爬蟲一樣的。 下面用它來抓取一個網(wǎng)站,,看看會有什么樣的情況,。 首先爬蟲會去網(wǎng)站根目錄下訪問 robots.txt文件,如果碰到該網(wǎng)站的二級域名,還會去二級域名下訪問robots.txt文件,。這個和搜索引擎是一樣的,。 在抓取的時候,是多線程的,,你可以實時的看到哪些URL正在被抓取以及速度怎么樣,。 很多人用它抓取完一個網(wǎng)站后會驚訝的發(fā)現(xiàn)有很多沒什么SEO價值的頁面在被抓取。而這些“垃圾鏈接”竟然還是最先被抓取到的,??上н@個爬蟲不支持nofollow屬性,不然更加能模擬google爬蟲,。你還會用它發(fā)現(xiàn)很多死鏈接和超時的頁面,。 要是經(jīng)常使用,你還會發(fā)現(xiàn)這個軟件的一個規(guī)律,,就是在抓取那些動態(tài)URL的時候,,經(jīng)常會產(chǎn)生重復(fù)抓取的現(xiàn)象,抓取URL類似www.***.com/index.asp?=12345 這樣頁面會陷入到死循環(huán)當(dāng)中,。這個和早期的google爬蟲又是一樣的,。由此判斷,這應(yīng)該是爬蟲天生的一個弱點,,可能它沒辦法實時的比較多個頁面的內(nèi)容,,如果加上網(wǎng)頁程序在處理URL ID的上遇到什么問題,就會重復(fù)抓取,。也由此得出為什么要有URL靜態(tài)化了,。 URL的靜態(tài)化與其叫靜態(tài)化不如叫唯一化,其實只要給網(wǎng)頁內(nèi)容一個唯一的,、結(jié)構(gòu)不容易陷入死循環(huán)的URL即可,,這就是靜態(tài)化的本質(zhì)。 google最新的聲明不要靜態(tài)化,,是不希望爬蟲從一種重復(fù)抓取陷入到另一種重復(fù)抓取才這樣說的,。其實google舉例的那幾種不好的靜態(tài)化一般是不會發(fā)生的。只要你明白那些URL中的參數(shù)代表什么,,還有不要把很多個參數(shù)直接rewrite到靜態(tài)化的URL里即可。 用這個軟件,,能讓你直觀的感受一個爬蟲是怎么工作的,。對于讓一個新手正確認(rèn)識爬蟲有幫助。 這個軟件的功能也差不多就這么多,,要逼真的模擬搜索引擎爬蟲,,就要用《google網(wǎng)站質(zhì)量指南》里提到的Lynx。但是Lynx是一個頁面一個頁面檢查的,。以后會寫一篇應(yīng)用Lynx的文章,。 更好的模擬google爬蟲就要用GSA了,。不應(yīng)該說是模擬,而應(yīng)該說它就是google爬蟲,。 用HTTrack,、Lynx和GSA,再配合服務(wù)器LOG日志里面的爬蟲分析,,會讓你對爬蟲的了解到達(dá)一個更高的水平,。分析爬蟲會讓你得益很多的。很多都以后再講,。 |
|