黑帽SEO蜘蛛池工作原理,什么是蜘蛛池程序?
搜索引擎的自動程序,用來爬取網(wǎng)頁、圖片和視頻等內(nèi)容,然后分類建立數(shù)據(jù)索引庫,方便用戶在搜索引擎中找到想獲取的信息。今天飛驢網(wǎng)絡(luò)給大家介紹蜘蛛程序、蜘蛛程序通道、蜘蛛程序陷阱等知識,我們一起來看看吧。
什么是蜘蛛程序(spider)?
蜘蛛也稱為機器人,指的是搜索引擎運行的計算機程序,沿著頁面上的超鏈接發(fā)現(xiàn)和爬行更多頁面,抓取頁面內(nèi)容,放入搜索引擎數(shù)據(jù)庫。
蜘蛛程序就是爬行程序,是搜索引擎的一部分,負責(zé)在互聯(lián)網(wǎng)上定位和采集這樣能夠響應(yīng)搜索者請求的頁面,成功的搜索引擎營銷取決于爬的網(wǎng)頁。
什么是蜘蛛程序通道(spider paths)?
蜘蛛程序通道是用于站點導(dǎo)航的輕松通道,例如站點地圖,分類地圖,國家地圖,或者在關(guān)鍵網(wǎng)頁底部的文本鏈接,蜘蛛通道包括任何能使蜘蛛程序輕松找到你有網(wǎng)頁的方法。
什么是蜘蛛程序陷阱(spider trap)?
蜘蛛陷阱指的是由于網(wǎng)站結(jié)構(gòu)的某種特征,使搜索引擎陷入無限循環(huán),無法停止爬行,最典型的蜘蛛陷阱是某些頁面上的萬年歷,搜索引擎可以一直單擊下一個月陷入無限循環(huán)。
蜘蛛程序陷阱是阻止蜘蛛程序爬些網(wǎng)頁顯示的技術(shù)方法,這些手段能很好地配合瀏覽器,但對蜘蛛程序就構(gòu)成了阻礙,蜘蛛陷阱包括Javascript下拉菜單以及有些種類的重定向。
百度蜘蛛的運行原理是什么?
1、通過百度蜘蛛下載回來的網(wǎng)頁放到補充數(shù)據(jù)區(qū),通過各種程序計算過后才放到檢索區(qū),才會形成穩(wěn)定的排名,所以說只要下載回來的東西都可以通過指令找到,補充數(shù)據(jù)是不穩(wěn)定的,有可能在各種計算的過程中給k掉,檢索區(qū)的數(shù)據(jù)排名是相對比較穩(wěn)定的,百度目 前是緩存機制和補充數(shù)據(jù)相結(jié)合的,正在向補充數(shù)據(jù)轉(zhuǎn)變,這也是目 前百度收錄困難的原因,也是很多站點今天給k了明天又放出來的原因。
2、深度優(yōu)先和權(quán)重優(yōu)先,百度蜘蛛抓頁面的時候從起始站點(即種子站點指的是一些門戶站點)是廣度優(yōu)先抓取是為了抓取更多的網(wǎng)址,深度優(yōu)先抓取的目的是為了抓取高質(zhì)量的網(wǎng)頁,這個策略是由調(diào)度來計算和分配的,百度蜘蛛只負責(zé)抓取,權(quán)重優(yōu)先是指反向連接較多的頁面的優(yōu)先抓取,這也是調(diào)度的一種策略,一般情況下網(wǎng)頁抓取抓到40%是正常范圍,60%算很好,100%是不可能的,當然抓取的越多越好。
如何寫爬取鏈接的蜘蛛小程序?
1、打開并讀取目標網(wǎng)頁內(nèi)容,可以使用urllib2、request等庫;
2、解析網(wǎng)頁內(nèi)容,尋找外鏈的鏈接地址。可以使用re寫正則表達式來處理(類似于抓字段并提取其中的一部分),也可以通過beautifulsoup等專門的html解析庫來處理;
3、從外鏈地址中提取網(wǎng)站名稱。這個應(yīng)該用re就可以簡單解決了;
4、比較此次獲取的網(wǎng)站名稱、之前存儲的網(wǎng)站名稱。如果重復(fù),則跳過;如果無重復(fù),則保存此次獲取的網(wǎng)站名稱。
5、定時輸出保存搜索結(jié)果。不停循環(huán)上述過程,直到達到你的設(shè)計目標。
不過需要注意的是:
1、有一些網(wǎng)站不希望被爬蟲爬取,會留有robot.txt文件進行說明。爬蟲程序最好尊重別人設(shè)定的限制。
2、為了減小對目標網(wǎng)站的訪問負擔(dān),建議不要在短時間內(nèi)對某一個網(wǎng)站發(fā)起大量鏈接,可以用time.sleep()等方式均衡負載。以上只是最簡單的思路,根據(jù)實際任務(wù)情況的不同,可能會有很多需要擴展的地方,
比如:
1、有一些網(wǎng)站要求用戶驗證,需要打開網(wǎng)頁時特別設(shè)置;
2、網(wǎng)站編碼問題,特別是正則表達式的編碼要和網(wǎng)頁編碼相一致(特別是re搜索中文的時候);
3、連接并打開網(wǎng)頁是否成功?不成功應(yīng)當怎么處理?
4、有一些網(wǎng)頁內(nèi)容可能是通過ajax動態(tài)加載的,這可能就需要額外的解決方案了(比如selenimum, phantomJS等等)。
5、有時為了提高抓取效率需要進行多線程擴充,這就涉及到Queue、multithreading等許多額外的庫了。
免責(zé)聲明:稿件文字來源于木業(yè)網(wǎng)新聞部原創(chuàng),圖片由相關(guān)企業(yè)提供,如涉及版權(quán)問題,由該企業(yè)負責(zé),并請版權(quán)方聯(lián)系本網(wǎng),本網(wǎng)將及時予以處理。