程序,是搜索引擎的自動(dòng)程序,用來(lái)爬取網(wǎng)頁(yè)、圖片和視頻等內(nèi)容,然后分門(mén)別類(lèi)建立數(shù)據(jù)索引庫(kù),方便用戶(hù)在搜索引擎中找到想獲取的信息。那么,什么是蜘蛛池程序呢?今天本文給大家介紹蜘蛛程序、蜘蛛程序通道、蜘蛛程序陷阱等知識(shí),我們一起來(lái)了解看看吧。網(wǎng)站建設(shè)★網(wǎng)站設(shè)計(jì)★網(wǎng)站制作★網(wǎng)頁(yè)設(shè)計(jì)-800元全包;企業(yè)網(wǎng)絡(luò)推廣☆網(wǎng)站優(yōu)化☆seo☆關(guān)鍵詞排名☆百度快照-2200元全年展示;做網(wǎng)站優(yōu)化排名-網(wǎng)站建設(shè)公司
我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、彭州ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的彭州網(wǎng)站制作公司
什么是蜘蛛程序(spider)?
蜘蛛也稱(chēng)為機(jī)器人,指的是搜索引擎運(yùn)行的計(jì)算機(jī)程序,沿著頁(yè)面上的超鏈接發(fā)現(xiàn)和爬行更多頁(yè)面,抓取頁(yè)面內(nèi)容,關(guān)入搜索引擎數(shù)據(jù)庫(kù)。
蜘蛛程序就是爬行程序,是搜索引擎的一部分,負(fù)責(zé)在互聯(lián)網(wǎng)上定位和收這樣能夠響應(yīng)搜索者的請(qǐng)求,成功的搜索引擎營(yíng)銷(xiāo)取決于爬的網(wǎng)頁(yè)。
什么是蜘蛛程序通道(spider paths)?
蜘蛛程序通道是用于站點(diǎn)導(dǎo)航的輕松通道,例如站點(diǎn)地圖,分類(lèi)地圖,國(guó)家地圖,或者在關(guān)鍵網(wǎng)頁(yè)底部的文本鏈接,蜘蛛通道包括任何能使蜘蛛程序輕松找到你有網(wǎng)頁(yè)的方法。
什么是蜘蛛程序陷阱(spider trap)?
蜘蛛陷阱指的是由于網(wǎng)站結(jié)構(gòu)的某種特征,使搜索引擎陷入無(wú)限循環(huán),無(wú)法停止爬行,最典型的蜘蛛陷阱是某些頁(yè)面上的萬(wàn)年歷,搜索引擎可以一直單擊下一個(gè)月陷入無(wú)限循環(huán)。
蜘蛛程序陷阱是阻止蜘蛛程序爬些網(wǎng)頁(yè)顯示的技術(shù)方法,這些手段能很好地配合瀏覽器,但對(duì)蜘蛛程序就構(gòu)成了阻礙,蜘蛛陷阱包括Javascript下拉菜單以及有些種類(lèi)的重定向。
百度蜘蛛的運(yùn)行原理是什么?
1、通過(guò)百度蜘蛛下載回來(lái)的網(wǎng)頁(yè)放到補(bǔ)充數(shù)據(jù)區(qū),通過(guò)各種程序計(jì)算過(guò)后才放到檢索區(qū),才會(huì)形成穩(wěn)定的排名,所以說(shuō)只要下載回來(lái)的東西都可以通過(guò)指令找到,補(bǔ)充數(shù)據(jù)是不穩(wěn)定的,有可能在各種計(jì)算的過(guò)程中給k掉,檢索區(qū)的數(shù)據(jù)排名是相對(duì)比較穩(wěn)定的,百度目前是緩存機(jī)制和補(bǔ)充數(shù)據(jù)相結(jié)合的,正在向補(bǔ)充數(shù)據(jù)轉(zhuǎn)變,這也是目前百度收錄困難的原因,也是很多站點(diǎn)今天給k了明天又放出來(lái)的原因。
2、深度優(yōu)先和權(quán)重優(yōu)先,百度蜘蛛抓頁(yè)面的時(shí)候從起始站點(diǎn)(即種子站點(diǎn)指的是一些門(mén)戶(hù)站點(diǎn))是廣度優(yōu)先抓取是為了抓取更多的網(wǎng)址,深度優(yōu)先抓取的目的是為了抓取高質(zhì)量的網(wǎng)頁(yè),這個(gè)策略是由調(diào)度來(lái)計(jì)算和分配的,百度蜘蛛只負(fù)責(zé)抓取,權(quán)重優(yōu)先是指反向連接較多的頁(yè)面的優(yōu)先抓取,這也是調(diào)度的一種策略,一般情況下網(wǎng)頁(yè)抓取抓到40%是正常范圍,60%算很好,100%是不可能的,當(dāng)然抓取的越多越好。
如何寫(xiě)爬取鏈接的蜘蛛小程序?
1、打開(kāi)并讀取目標(biāo)網(wǎng)頁(yè)內(nèi)容,可以使用urllib2、request等庫(kù);
2、解析網(wǎng)頁(yè)內(nèi)容,尋找外鏈的鏈接地址??梢允褂胷e寫(xiě)正則表達(dá)式來(lái)處理(類(lèi)似于抓字段并提取其中的一部分),也可以通過(guò)beautifulsoup等專(zhuān)門(mén)的html解析庫(kù)來(lái)處理;
3、從外鏈地址中提取網(wǎng)站名稱(chēng)。這個(gè)應(yīng)該用re就可以簡(jiǎn)單解決了;
4、比較此次獲取的網(wǎng)站名稱(chēng)、之前存儲(chǔ)的網(wǎng)站名稱(chēng)。如果重復(fù),則跳過(guò);如果無(wú)重復(fù),則保存此次獲取的網(wǎng)站名稱(chēng)。
5、定時(shí)輸出保存搜索結(jié)果。不停循環(huán)上述過(guò)程,直到達(dá)到你的設(shè)計(jì)目標(biāo)。
不過(guò)需要注意的是:
1、有一些網(wǎng)站不希望被爬蟲(chóng)爬取,會(huì)留有robot.txt文件進(jìn)行說(shuō)明。爬蟲(chóng)程序最好尊重別人設(shè)定的限制。
2、為了減小對(duì)目標(biāo)網(wǎng)站的訪問(wèn)負(fù)擔(dān),建議不要在短時(shí)間內(nèi)對(duì)某一個(gè)網(wǎng)站發(fā)起大量鏈接,可以用time.sleep()等方式均衡負(fù)載。
以上只是最簡(jiǎn)單的思路,根據(jù)實(shí)際任務(wù)情況的不同,可能會(huì)有很多需要擴(kuò)展的地方,比如:
1、有一些網(wǎng)站要求用戶(hù)驗(yàn)證,需要打開(kāi)網(wǎng)頁(yè)時(shí)特別設(shè)置;
2、網(wǎng)站編碼問(wèn)題,特別是正則表達(dá)式的編碼要和網(wǎng)頁(yè)編碼相一致(特別是re搜索中文的時(shí)候);
3、連接并打開(kāi)網(wǎng)頁(yè)是否成功?不成功應(yīng)當(dāng)怎么處理?
4、有一些網(wǎng)頁(yè)內(nèi)容可能是通過(guò)ajax動(dòng)態(tài)加載的,這可能就需要額外的解決方案了(比如selenimum,phantomJS等等)。
5、有時(shí)為了提高抓取效率需要進(jìn)行多線(xiàn)程擴(kuò)充,這就涉及到Queue、multithreading等許多額外的庫(kù)了
網(wǎng)站名稱(chēng):什么是蜘蛛池程序?
文章轉(zhuǎn)載:http://chinadenli.net/article16/dghsjgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、建站公司、品牌網(wǎng)站制作、App開(kāi)發(fā)、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)