亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        網(wǎng)絡(luò)爬蟲針對“反爬”網(wǎng)站的爬取策略研究

        2016-05-19 14:02:36鄒科文李達鄧婷敏李嘉振
        電腦知識與技術(shù) 2016年7期
        關(guān)鍵詞:網(wǎng)絡(luò)爬蟲搜索引擎

        鄒科文++李達++鄧婷敏++李嘉振++陳義明

        摘要:隨著計算機技術(shù)和internet的迅猛發(fā)展,信息和知識呈現(xiàn)爆炸性的增長,如何獲取和利用信息成為現(xiàn)代社會提高競爭力的重要途徑,網(wǎng)絡(luò)爬蟲是達到這一途徑的重要工具。該文詳細闡述了網(wǎng)絡(luò)爬蟲的體系結(jié)構(gòu)、工作原理和URL搜索策略,針對某些網(wǎng)站采用的“反爬”措施,提出了幾種爬取策略,以實現(xiàn)網(wǎng)頁的有效爬取。對實際網(wǎng)絡(luò)爬蟲獲取信息具有重要的參考價值。

        關(guān)鍵詞:網(wǎng)絡(luò)爬蟲;反爬蟲機制;搜索引擎

        中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)07-0061-03

        信息和知識爆炸增長的時代,搜索引擎成為人們獲取信息的重要工具。搜索引擎釋放出來的網(wǎng)絡(luò)爬蟲會大量占用互聯(lián)網(wǎng)帶寬,很可能在短時間內(nèi)導(dǎo)致網(wǎng)站訪問速度緩慢,甚至無法訪問。應(yīng)對此種情況,許多網(wǎng)站采取了一些措施來攔截網(wǎng)絡(luò)爬蟲的爬取。本文在分析網(wǎng)絡(luò)爬蟲原理的基礎(chǔ)上,針對“反爬”網(wǎng)站提出了一些有效的爬取策略。

        1網(wǎng)絡(luò)爬蟲概述

        網(wǎng)絡(luò)爬蟲是抓取網(wǎng)頁信息的一種程序,它可用來檢查一系列站點的有效性,當(dāng)按照需求抓取并保存數(shù)據(jù)時,是搜索引擎的重要組成部分。它還可以定向采集某些網(wǎng)站下的特定信息,比如招聘、二手買賣等信息。

        網(wǎng)絡(luò)上的網(wǎng)頁許多都由超鏈接連接,故形成了一張網(wǎng),網(wǎng)絡(luò)爬蟲因此也叫做網(wǎng)絡(luò)蜘蛛,順著網(wǎng)爬,每到一個網(wǎng)頁就抓取信息并抽取新的超鏈接,用于進一步爬行的線索。網(wǎng)絡(luò)爬蟲爬行的起點叫做種子,可以自己設(shè)定也可以從某些系列網(wǎng)站獲取。

        1.1網(wǎng)絡(luò)爬蟲的組成

        網(wǎng)絡(luò)爬蟲主要由控制器、解析器和資源庫三部分組成。控制器是網(wǎng)絡(luò)爬蟲的控制中心,它負責(zé)分配線程并調(diào)用爬蟲為其分配爬取任務(wù);解析器是網(wǎng)絡(luò)爬蟲的核心,它的主要工作是下載網(wǎng)頁并對網(wǎng)頁中的信息進行處理,例如刪除一些JS腳本、HTML標簽和空格字符等,抽取特殊HTML標簽的功能,分析數(shù)據(jù)功能;資源庫是用于保存下載的網(wǎng)頁資源,并提供生成索引的目標源。一般采用中大型的數(shù)據(jù)庫存儲,如Oracle、Sql Server等。

        1.2網(wǎng)絡(luò)爬蟲的工作原理

        網(wǎng)絡(luò)爬蟲的基本工作流程如下:

        1)選取初始種子URL集合;

        2)將URL集合放入待抓取URL隊列;

        3)從待抓取URL隊列中取出待抓取URL,解析DNS,得到主機IP,將URL對應(yīng)網(wǎng)頁下載并存儲至網(wǎng)頁資源庫。結(jié)束后將這些URL放入已抓取URL隊列。

        4)從已抓取URL隊列中的URL分析出新的滿足需求的URL,放入待抓取URL隊列。

        5)循環(huán)第3步,直至滿足停止條件。

        傳統(tǒng)網(wǎng)絡(luò)爬蟲框架如圖1所示。

        1.3網(wǎng)絡(luò)爬蟲的搜索策略

        網(wǎng)絡(luò)爬蟲在運行過程中,待抓取URL隊列是很重要的一部分。待抓取URL隊列中的URL如何排序也是一個值得研究的問題,因為這涉及先抓取那個頁面,后抓取哪個頁面。而排列URL順序的方法,叫做抓取策略。常見的網(wǎng)絡(luò)爬蟲策略有:

        1)廣度優(yōu)先搜索策略。在抓取過程中,由根節(jié)點開始,完成當(dāng)前層次的搜索后才跳到下一層次的搜索。該策略實現(xiàn)較為簡單,其基本思想是認為與初始URL在一定鏈接距離內(nèi)的網(wǎng)頁具有主題相關(guān)性的概率很大。

        2)深度優(yōu)先搜索策略。這種策略的主要思想是網(wǎng)絡(luò)爬蟲從起始頁開始,一個鏈接一個鏈接跟蹤下去,處理完這條線路之后再轉(zhuǎn)入下一個起始頁,繼續(xù)跟蹤鏈接。

        3)最佳優(yōu)先搜索策略。該策略通過計算 URL 描述文本與目標網(wǎng)頁的相似度,或者與主題的相關(guān)性,根據(jù)所設(shè)定的閾值選出有效 URL 進行抓取。

        4)反向鏈接數(shù)策略,反向鏈接數(shù)是指一個網(wǎng)頁被其他網(wǎng)頁鏈接指向的數(shù)量。反向鏈接數(shù)表示的是一個網(wǎng)頁的內(nèi)容受到其他人的推薦的程度。因此,很多時候搜索引擎的抓取系統(tǒng)會使用這個指標來評價網(wǎng)頁的重要程度,從而決定不同網(wǎng)頁的抓取先后順序。

        2如何應(yīng)對站點反爬蟲機制

        網(wǎng)絡(luò)爬蟲會對目標站點發(fā)送大量請求,而這樣的爬蟲機制會消耗不少網(wǎng)站資源,這對于中小型網(wǎng)站的負載是 巨大的,甚至因此而崩潰,故不少網(wǎng)站都采取了反爬蟲的機制。例如:通過識別爬蟲的User-Agent信息來拒絕爬蟲,通過Filter過濾網(wǎng)絡(luò)爬蟲,通過網(wǎng)站流量統(tǒng)計系統(tǒng)和日志分析來識別爬蟲,利用網(wǎng)站的實時反爬蟲防火墻實現(xiàn)策略。為了不被站點判斷為爬蟲而被拒絕訪問請求,此處提供兩種方法來維持爬蟲的正常運轉(zhuǎn)。

        2.1降低訪問請求頻率

        降低訪問請求頻率,在一定程度上是,模仿真人瀏覽頁面的動作,故而不會輕易被網(wǎng)站所封殺,拒絕訪問。實現(xiàn)的方法為在訪問URL的程序中,將訪問請求的線程休眠一段時間。

        具體代碼如下:

        try { Thread.currentThread().sleep(4000);

        } catch (InterruptedException e) {

        e.printStackTrace();

        }

        Sleep的休眠時間按照需求而定,以毫秒(ms)為單位。這種策略的優(yōu)點是減少了目標站點單位時間內(nèi)的負載,而缺點則為爬蟲爬取效率的降低。

        2.2設(shè)置代理服務(wù)器

        設(shè)置代理服務(wù)器,較之前一種方法來說則以爬蟲的效率為首要要求,實質(zhì)就是某些網(wǎng)站的反爬蟲機制會封殺爬蟲請求頻率過高的主機的IP,為了解決這一問題,使用代理服務(wù)器,更換IP以及端口,解除站點對訪問頻率高的主機訪問的限制。

        有兩種調(diào)用的方法,具體代碼如下:

        方法一:

        Jsoup.connect("http://pv.sohu.com/cityjson").proxy(Proxy.Type.HTTP, "61.158.237.35", 3128).get();

        方法二:

        System.setProperty("proxySet", "true"); System.setProperty("http.proxyHost", "61.158.237.35"); System.setProperty("http.proxyPort", "3128");

        Document a = Jsoup.connect("http://pv.sohu.com/cityjson").get();

        System.out.println(a);

        其中的代理IP與端口為 61.158.237.35:3128。

        代理前后的效果如圖2,3所示。

        優(yōu)點:保證爬蟲執(zhí)行不被站點封殺。只要有足夠IP代理可滿足爬取條件。

        缺點:單位時間內(nèi)消耗資源過多,給站點帶來較大的負載。延遲加大,失敗率提高。

        2.3偽裝用戶代理

        用戶代理User-agent是HTTP協(xié)議中的一個字段,作用是描述發(fā)出HTTP請求終端的一些信息。通俗來說,就是判斷訪問網(wǎng)站對象的類別,每個瀏覽器和正規(guī)的爬蟲都有固定的user-agent,因此只要將這個字段改成知名的user-agent就可以成功偽裝了。對于偽裝瀏覽器user-agent或知名爬蟲user-agent,更推薦偽裝瀏覽器,因為瀏覽器使用者可以是任何人,沒有固定的IP,而知名爬蟲user-agent一般都有固定IP。下面給出若干個瀏覽器的user-agent,每次發(fā)送請求時可隨機選取一個。

        Mozilla/4.0( compatible ;MSIE 8.0;Windows NT 6.0)

        Mozilla/4.0( compatible ;MSIE 7.0;Windows NT 5.2)

        Mozilla/4.0( compatible ;MSIE 6.0;Windows NT 5.1)

        設(shè)置代碼如下:

        HttpGet getMethod = new HttpGet(“URl”);

        getMethod.setHeader(“User-Agent”,”user agent內(nèi)容”);

        2.4 自動登錄

        有些網(wǎng)站一檢測到某IP的訪問量異常,就會馬上提出要登錄的要求。針對這種“反爬”策略,在登錄前需要做一些準備,查清楚POST登錄請求時要附帶的參數(shù),建議先用badboy錄制登錄過程,然后將這一過程導(dǎo)出為jmeter文件,最后用jmeter查看登錄所需的參數(shù)。

        3結(jié)束語

        總之,為了防止爬蟲被封,原則就是偽裝成正常的用戶,只要按照這個原則總有方法可循。不過若是能熟知一些反爬蟲的原理,然后有針對地進行拆招應(yīng)該還是十分有效的。

        傳統(tǒng)網(wǎng)絡(luò)爬蟲應(yīng)用于抓取靜態(tài)Web網(wǎng)頁的信息,而AJAX/Web2.0的流行使得如何抓取動態(tài)頁面信息成為目前網(wǎng)絡(luò)爬蟲的瓶頸。另外,網(wǎng)絡(luò)爬蟲的效率與網(wǎng)站穩(wěn)定安全還未能完全達到兩者兼得的狀態(tài)。對于搜索引擎,它抓取的消耗較大,因此爬蟲的效率、特性和抓取的質(zhì)量就顯得更為重要。在未來的大數(shù)據(jù)時代,網(wǎng)絡(luò)爬蟲技術(shù)地位更為重要,和人工智能技術(shù)相結(jié)合將是熱門的課題。

        參考文獻:

        [1] 郭小丹.幾種開源網(wǎng)絡(luò)爬蟲功能比較[J].黑龍江科技信息,2015(25).

        [2] 林雄強.網(wǎng)絡(luò)爬蟲[J].中國科技博覽,2014(24).

        [3] 趙全軍,成功,李小正,等.一種改進的網(wǎng)絡(luò)爬蟲搜索策略[J].中國科技信息,2014(14).

        [4] 劉慶杰,孫旭光,王小英.通過Filter抵御網(wǎng)頁爬蟲[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2010(1).

        [5] 吳曉暉,紀星.Web爬蟲檢測技術(shù)綜述[J].湖北汽車工業(yè)學(xué)院學(xué)報,2012(1).

        [6] 范純龍,袁濱,余周華, 等.基于陷阱技術(shù)的網(wǎng)絡(luò)爬蟲檢測[J].計算機應(yīng)用,2010(7).

        [7] 吳歡,宋力,劉遇哲.基于HTTP協(xié)議特征字的識別研究[J].計算機與網(wǎng)絡(luò),2015(9).

        猜你喜歡
        網(wǎng)絡(luò)爬蟲搜索引擎
        基于網(wǎng)絡(luò)爬蟲的電子易購軟件設(shè)計與實現(xiàn)
        計算機時代(2017年2期)2017-03-06 20:40:01
        煉鐵廠鐵量網(wǎng)頁數(shù)據(jù)獲取系統(tǒng)的設(shè)計與實現(xiàn)
        基于社會網(wǎng)絡(luò)分析的權(quán)威網(wǎng)頁挖掘研究
        主題搜索引擎中網(wǎng)絡(luò)爬蟲的實現(xiàn)研究
        淺析如何應(yīng)對網(wǎng)絡(luò)爬蟲流量
        中國市場(2016年23期)2016-07-05 04:35:08
        網(wǎng)絡(luò)搜索引擎亟待規(guī)范
        Nutch搜索引擎在網(wǎng)絡(luò)輿情管控中的應(yīng)用
        基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
        廣告主與搜索引擎的雙向博弈分析
        知識漫畫
        百科知識(2012年11期)2012-04-29 08:30:15
        国产免费视频一区二区| 日本系列有码字幕中文字幕| 一个人看的视频在线观看| 亚洲va中文字幕无码毛片| 男女裸交无遮挡啪啪激情试看| 久久青青热| 97在线视频免费| 亚洲高清国产拍精品熟女| 午夜国产精品视频在线观看| 色噜噜亚洲男人的天堂| 无码人妻精品一区二区在线视频| 日韩成人免费一级毛片| 探花国产精品三级在线播放| 国产激情视频免费观看| 中国少妇久久一区二区三区| 久久久久免费看成人影片| 欧美黑人又粗又大久久久| 久久中文字幕久久久久91| 日本系列有码字幕中文字幕| 亚洲国产精品国自产拍av| 亚洲精品你懂的在线观看| 亚洲av在线播放观看| 日韩在线精品免费观看| 在线观看av片永久免费| 成年无码aⅴ片在线观看| 国产在视频线精品视频二代| 亚洲成人av大片在线观看| 扒开腿狂躁女人爽出白浆| 99久久精品国产一区二区蜜芽| 超高清丝袜美腿视频在线| 日韩在线精品视频一区| 欧美内射深喉中文字幕| 国产精品久久综合桃花网| 日本一区二区偷拍视频| 无码中文字幕日韩专区| 国产精品午睡沙发系列| av熟女一区二区久久| 久久一本日韩精品中文字幕屁孩| 99在线精品免费视频九九视| 精品亚洲欧美高清不卡高清| 亚洲人妖女同在线播放|