黑帽SEO蜘蛛池工作原理,什么是蜘蛛池程序?

2018/10/30 10:49:26來源:網友整理熱度:5251

搜索引擎的自動程序,用來爬取網頁、圖片和視頻等內容,然后分類建立數據索引庫,方便用戶在搜索引擎中找到想獲取的信息。今天飛驢網絡給大家介紹蜘蛛程序、蜘蛛程序通道、蜘蛛程序陷阱等知識,我們一起來看看吧。

黑帽SEO蜘蛛池工作原理,什么是蜘蛛池程序?

什么是蜘蛛程序(spider)?

蜘蛛也稱為機器人,指的是搜索引擎運行的計算機程序,沿著頁面上的超鏈接發現和爬行更多頁面,抓取頁面內容,放入搜索引擎數據庫。

蜘蛛程序就是爬行程序,是搜索引擎的一部分,負責在互聯網上定位和采集這樣能夠響應搜索者請求的頁面,成功的搜索引擎營銷取決于爬的網頁。

什么是蜘蛛程序通道(spider paths)?

蜘蛛程序通道是用于站點導航的輕松通道,例如站點地圖,分類地圖,國家地圖,或者在關鍵網頁底部的文本鏈接,蜘蛛通道包括任何能使蜘蛛程序輕松找到你有網頁的方法。
什么是蜘蛛程序陷阱(spider trap)?

蜘蛛陷阱指的是由于網站結構的某種特征,使搜索引擎陷入無限循環,無法停止爬行,最典型的蜘蛛陷阱是某些頁面上的萬年歷,搜索引擎可以一直單擊下一個月陷入無限循環。

蜘蛛程序陷阱是阻止蜘蛛程序爬些網頁顯示的技術方法,這些手段能很好地配合瀏覽器,但對蜘蛛程序就構成了阻礙,蜘蛛陷阱包括Javascript下拉菜單以及有些種類的重定向。

百度蜘蛛的運行原理是什么?

1、通過百度蜘蛛下載回來的網頁放到補充數據區,通過各種程序計算過后才放到檢索區,才會形成穩定的排名,所以說只要下載回來的東西都可以通過指令找到,補充數據是不穩定的,有可能在各種計算的過程中給k掉,檢索區的數據排名是相對比較穩定的,百度目 前是緩存機制和補充數據相結合的,正在向補充數據轉變,這也是目 前百度收錄困難的原因,也是很多站點今天給k了明天又放出來的原因。

2、深度優先和權重優先,百度蜘蛛抓頁面的時候從起始站點(即種子站點指的是一些門戶站點)是廣度優先抓取是為了抓取更多的網址,深度優先抓取的目的是為了抓取高質量的網頁,這個策略是由調度來計算和分配的,百度蜘蛛只負責抓取,權重優先是指反向連接較多的頁面的優先抓取,這也是調度的一種策略,一般情況下網頁抓取抓到40%是正常范圍,60%算很好,100%是不可能的,當然抓取的越多越好。

如何寫爬取鏈接的蜘蛛小程序?

1、打開并讀取目標網頁內容,可以使用urllib2、request等庫;

2、解析網頁內容,尋找外鏈的鏈接地址。可以使用re寫正則表達式來處理(類似于抓字段并提取其中的一部分),也可以通過beautifulsoup等專門的html解析庫來處理;

3、從外鏈地址中提取網站名稱。這個應該用re就可以簡單解決了;

4、比較此次獲取的網站名稱、之前存儲的網站名稱。如果重復,則跳過;如果無重復,則保存此次獲取的網站名稱。

5、定時輸出保存搜索結果。不停循環上述過程,直到達到你的設計目標。
不過需要注意的是:

1、有一些網站不希望被爬蟲爬取,會留有robot.txt文件進行說明。爬蟲程序最好尊重別人設定的限制。

2、為了減小對目標網站的訪問負擔,建議不要在短時間內對某一個網站發起大量鏈接,可以用time.sleep()等方式均衡負載。以上只是最簡單的思路,根據實際任務情況的不同,可能會有很多需要擴展的地方,

比如:

1、有一些網站要求用戶驗證,需要打開網頁時特別設置;

2、網站編碼問題,特別是正則表達式的編碼要和網頁編碼相一致(特別是re搜索中文的時候);

3、連接并打開網頁是否成功?不成功應當怎么處理?

4、有一些網頁內容可能是通過ajax動態加載的,這可能就需要額外的解決方案了(比如selenimum, phantomJS等等)。

5、有時為了提高抓取效率需要進行多線程擴充,這就涉及到Queue、multithreading等許多額外的庫了。