網絡爬蟲范例6篇

前言:中文期刊網精心挑選了網絡爬蟲范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。

網絡爬蟲

網絡爬蟲范文1

[關鍵詞]網絡爬蟲;User-Agent;網絡策略

[DOI]10.13939/ki.zgsc.2016.23.077

1引言

隨著科技的發展,大眾正面臨著一種信息爆炸的局面。在巨量數據面前,大眾面臨著一種尷尬局面,那就是互聯網中有大量的對自己有用的數據,但是怎樣能正確和便捷的獲取到這些數據存在著困難。搜索引擎的出現很好地解決了這種局面,讓大眾通過搜索引擎搜索自己想要的數據。在互聯網的搜索引擎和網站中,目前最常用的是網絡爬蟲技術。任何事物都有正反兩個面,網絡爬蟲的出現也印證了這個說法。網絡爬蟲在給人們提供搜索便利的同時也占用了大量的網絡帶寬,很多網站的訪問流量構成當中,爬蟲帶來的流量要遠遠超過真實用戶訪問流量,甚至爬蟲流量要高出真實流量一個數量級,因此應對網絡爬蟲是一個值得網站開發者長期探索和解決的問題。

2網絡爬蟲概述

網絡爬蟲也被稱為網絡機器人,是一種能夠“自動化瀏覽網絡” 的程序,通過它可以在互聯網上自動抓取內容。它們被廣泛用于互聯網搜索引擎或其他類似網站,以獲取或更新這些網站的內容和檢索方式。它們可以自動采集所有其能夠訪問到的頁面內容,以供搜索引擎做進一步處理(分檢整理下載的頁面),而使得用戶能更快的檢索到他們需要的信息。早期的爬蟲主要功能是索引網站中的文本內容,隨著技術的發展,爬蟲的功能也越來越強,例如對圖片、視屏與內容的關聯,對各種數據格式(如doc、xls、pdf)的解析等。

有關分析數據顯示,網站流量中有高達60%可能是由網絡爬蟲產生的,而這些爬蟲則是由用戶或其他程序控制,并可能模擬人類的Web訪問行為。幾乎所有在線業務都可能受到各種類型的爬蟲流量的影響。這可能包括抓取內容或價格信息的爬蟲、購買限量供應商品及服務而使合法客戶無法正常購買的“交易”爬蟲、用欺騙手段增加廣告收入的自動“點擊”爬蟲等。另外,因為搜索引擎的流行,網絡爬蟲實際已經成了應用很普及的網絡技術,除了專門做搜索的Google、Yahoo、微軟、百度等公司以外,幾乎每個大型門戶網站都有自己的搜索引擎,除此以外數量繁多的中小型網站也都有自己的搜索引擎,所以說對于處于互聯網中的網站來說,受到網絡爬蟲的光顧是不可避免的。對于一些技術成熟且智能化水平高的搜索引擎來說,爬蟲的爬取頻率設置比較合理,對網站資源消耗比較少,但是很多設計水平差的網絡爬蟲,其對網頁爬取能力很低,經常并發幾十上百個請求循環重復抓取,這種爬蟲對中小型網站的影響往往是致命的,特別是一些缺乏爬蟲編寫經驗的程序員寫出來的爬蟲破壞力極強。

3網絡爬蟲流量的應對措施

3.1手工識別拒絕爬蟲的訪問

這種方法主要是針對爬蟲的來源IP進行封堵,通過netstat檢查網站主機的80端口,察看80端口的IP連接數量,通過連接數量的多少確認網絡爬蟲的來源IP,這種方法主要應用了網絡爬蟲并發連接數量非常高的特點。在確定來源IP后可以通過防火墻來拒絕網絡爬蟲對網站的訪問。

3.2通過User-Agent信息識別爬蟲

網絡爬蟲并不是全部具備高并發連接的特點,有時候網絡爬蟲并不會采用高并發來進行網站內容的爬取,這樣一般不容易通過手工方法識別;同時有些網絡爬蟲來源IP分布范圍很大,很難采取封鎖IP段的手段來解決問題。它們通常采用以爬蟲數量取勝的方法,即通過大量爬蟲分別有限爬取網頁的辦法,這些小爬蟲單獨爬取的量都不高,所以很難準確識別其IP。這種情況下我們可以通過User-Agent信息來識別爬蟲。這是應用了爬蟲在爬取網頁時會聲明自己的User-Agent信息,我們通過分析User-Agent信息來識別爬蟲。這種方法實施簡單效果也非常好,它可以對特定的爬蟲進行封鎖,也可以對編程語言中的HTTP類庫進行封鎖,這樣可以避免無用爬蟲對網站的影響。同時我們還可以采用一種更高級一點的方法在不封鎖特定爬蟲的情況下,通過降低爬蟲的請求頻率來減輕爬蟲對網站性能的影響。

3.3通過網站流量統計系統和日志分析來識別爬蟲

有些爬蟲會通過修改User-Agent信息來偽裝自己,把自己偽裝成一個真實瀏覽器的User-Agent信息。這種情況下我們就無法通過User-Agent信息識別爬蟲了,但是我們可以通過網站流量系統記錄的真實用戶訪問IP來進行識別。

當前主流的網站流量統計系統經常采用兩種實現策略:一種策略是在網頁里面嵌入一段JavaScript代碼,這段JavaScript代碼會向特定的統計服務器發送請求的方式記錄訪問量;另一種策略是直接分析服務器日志,來統計網站訪問量。一般情況下,嵌入JavaScript代碼的方式統計的網站流量應該高于分析服務器日志統計的網站流量,這是因為用戶瀏覽器會有緩存,不是每次真實用戶訪問都會觸發服務器的處理。

在進行服務器日志分析時,我們可以采用服務器日志分析軟件,好的分析軟件可以使我們的分析工作進行的事半功倍。通過日志分析軟件的分析和識別功能,可以對網站的IIS、Apache、Nginx等進行識別和分類分析并給出分析結果。

通過流量統計系統一般可以得到用戶真實的訪問IP。正常情況下爬蟲是無法執行網頁里面的JavaScript代碼片段的。所以我們可以用流量統計系統記錄的IP與服務器程序日志記錄的IP地址進行比對,如果服務器日志里面某個IP發起了大量的請求,在流量統計系統里面卻根本找不到相關的記錄,或者能找到訪問量卻與服務器日志里面的統計量出入很大,那么基本可以確定這就是網絡爬蟲。

3.4通過設置網絡策略實現網站實時反爬蟲

通過分析日志的方式來識別網頁爬蟲只是一種被動的防爬蟲方法,它永遠滯后與爬蟲帶來的危害,通過防火墻可以實現一個實時的反爬蟲策略。如果一個惡意爬蟲非要針對某一網站進行蓄謀的爬取,那么它完全可能會采用分布式爬取的策略來進行,比如通過成百上千個服務器對目標網站進行大頻率的爬取,從而導致目標網站無法相應正常訪問,那么再進行日志分析解決問題就顯得非常被動和應對滯后。所以必須采取實時反爬蟲策略,要能夠動態的實時識別和封鎖爬蟲的訪問。

4結論

科學技術總是在不停地往前發展,這些技術就像矛和盾,總是存在此消彼長的狀態,隨著技術的進步,攻與防的戰斗也在向縱深發展。對于網絡爬蟲不能只是一味地封堵,比較可行的方法是進行疏堵結合,通過更全面的超越簡單攔截的多樣化策略,更好地控制爬蟲流量,將其負面效應減到最低狀態。

參考文獻:

網絡爬蟲范文2

【關鍵詞】網絡爬蟲 搜索策略 搜索引擎

一、引言

信息時代的發展,讓越來越多的高新技術應用到網絡中去。隨著網絡信息數據的海量增長,傳統的搜索引擎功能已與當前人們多元化的信息需求不匹配,人們對于搜索引擎的要求更加細致、精確,傳統的搜索引擎已無法滿足人們個性化信息檢索服務的需求[1]。近年來,主題型搜索引擎應運而生。所謂主題型搜索引擎,就是以構筑某一專題領域或學科領域的因特網信息資源庫為目標,智能地在互聯網上搜集符合設定專題或滿足學科需要的信息資源[2]。在主題搜索引擎的研究中,網絡爬蟲搜索策略主要研究以何種搜索策略訪問Web以提高效率,這是當前研究的熱點問題之一。網絡的動態性、異構性和復雜性需要網絡爬蟲有效地實現網頁信息的讀取,讓用戶及時獲得所需要的信息。

二、網絡爬蟲的概念

網絡爬蟲的概念有廣義和狹義之分。狹義上的概念是指根據超鏈接和W EB文檔檢索萬維網信息空間;廣義上的概念是利用標準的HTTP協議檢索Web文檔,使用HTTP協議的軟件稱之為網絡爬蟲。網絡爬蟲能夠自動提取網頁??程序,能夠從萬維網搜索引擎下載網頁,是搜索引擎的重要組成部分。網絡爬蟲不依靠用戶干預,即可實現自動“爬行”搜索。

三、聚焦搜索策略

網絡爬蟲的主題搜索引擎能夠獲取到的網頁一般要多于100萬面,同時獲取網頁用時較長,有時需要等待十秒以上的時間。隨著人們對于搜索要求的提高,這些通用搜索引擎與人們的要求不相適應。因此,出現了聚焦爬蟲策略,能夠定向的獲取主題網頁,只挑出所需的特定主題頁面來進行定向訪問,圖1即可顯示聚焦爬蟲的應用策略及規則。

圖1 聚焦搜索策略

聚焦爬蟲給下載頁面分配一個分數,然后根據得分排序,放入到確定的隊列中去。通過隊列對頁面進行分析,以尋找最佳的頁面。網絡爬蟲搜索策略的關鍵是如何評價鏈接,以顯示鏈接的“重要性”,從而確定不同的主題搜索策略。聚焦搜索策略主要包括基于內容評價的搜索策略、基于鏈接結構評價的搜索策略、基于鞏固學習的聚焦搜索策略和基于語境圖的聚焦搜索策略。基于鞏固學習的聚焦搜索策略,是在強化學習的模型中,通過幾個不相關頁面的訪問,獲得主題頁面的模式。把獲得的主題相關頁面稱為未來的回報,未來回報的預測值表示未來回報的價值,用Q值來表示。這種方法的核心是要學會如何計算鏈路的Q值,根據未來的返回值,確定主題搜索目標的正確性?;谡Z境圖的聚焦搜索策略,能夠構建出WEB的語境圖,來估算與目標頁面的距離。但這種方式有一定的局限性,不能夠表現出客觀的WEB結構。

四、寬度和深度優先搜索策略

搜索引擎所用的第一代網絡爬蟲主要是基于傳統的圖算法,如寬度優先或深度優先算法來索引整個Web,一個核心的URL集被用來作為一個種子集合,這種算法超的最終的目標是跟蹤覆蓋整個Web。這種策略通常用在通用搜索引擎中,因為通用搜索引擎獲得的網頁越多越好,沒有特定的要求.如圖2所示。

圖2傳統的圖算法

網絡爬蟲的搜索引擎主要是基于傳統的圖算法,通過索引整個Web,由一個核心的URL集被用來作為種子集合,算法遞歸地跟蹤超鏈接到其他的頁面,在運行中,通常不需要顧及頁面的具體內容,因為最終的目標是要在整個W EB中實施跟蹤策略,覆蓋面通常是用在一般的搜索引擎中,因對一般的網頁搜索引擎的要求是能夠盡可能多的獲得返回的頁面,而沒有相應的主題的要求,如圖2為傳統的圖算法。其主要的方法包括寬度優先搜索算法和深度優先算法。在進行Web主題信息提取的實施過程中,所提取的URL已經通過了主題相關性判別。盡管如此,所提取的頁面內容還是可能與設定的主題相差甚遠。這種現象將影響主題頁面信息的提取準確率。因此,在頁面提取之后,需要對頁面進行主題相關性判別,以濾掉主題無關頁面。深度優先搜索所遵循的搜索策略是盡可能“深”地搜索圖。搜索的過程一直進行到所有節點已發現并確定源節點是否是最新的。如果還有未被發現的節點,然后選擇源節點之一,并重復上述過程,直到所有的節點都被發現。

五、小結

隨著人們對個性化信息檢索服務需求的日益增長,面向主題的搜索引擎應運而生。在主題搜索引擎中,網絡爬蟲以何種策略訪問Web能提高搜索效率,是近年來主題搜索引擎研究中的主要問題之一。面對人們越來越高的信息檢索要求,各種專業主題搜索引擎應運而生,以滿足不同用戶群體的個性化需求。基于主題的采集的核心問題就是采集時向主題頁面群的引導和對無關頁面的過濾問題,需要進一步研究出新算法。

參考文獻:

[1]林彤,江志軍.Internet的搜索引擎[J].計算機工程與應用,2000,36(15):160-163.

[2]李蕾.中文搜索引擎概念檢索初探[J].計算機工程與應用,2000,36(6):1-11.

[3]戚欣.基于本體的主題網絡爬蟲設計[J].武漢理工大學學報,2009,31(2):138-141.

[4]烏嵐. 基于多樣約束模型的遠程教育數據庫優化查詢算法[J].科技通報,2013, 29 (1):155-160.

網絡爬蟲范文3

關鍵詞:網絡爬蟲 新媒體 研究 設計

中圖分類號:TP393 文獻標識碼:A 文章編號:1007-3973(2013)007-063-03

1 引言

隨著新媒體的飛速發展與逐漸成熟,新媒體這一媒體形式憑借其便利、便捷的特點獲得了人們的認可和關注。由于新媒體平臺的數量增長,人們已經逐漸迷失在浩瀚的網絡中,無法在有限的時間內及時、準確地獲得想要的信息,所以對新媒體進行有效的資源整合成了解決這一問題的首要途徑。本文以四川大學教務處網站、四川大學團委網站、四川大學學生工作處網站為研究背景,結合計算科學技術,提出了新媒體資源整合的方法,使廣大的學生群體在有限的課余時間內準確、高效地了解校內外的資訊。

本文主要工作包括:(1)研究四川大學網絡媒體現狀;(2)提出新媒體平臺數量增長背景下,如何及時、高效地獲取資訊的辦法;(3)介紹新媒體資源整合的核心技術 ― 網絡爬蟲技術及相關關鍵技術;(4)結合網絡爬蟲技術設計資源整合網站,整合四川大學教務網站、學生工作處網站、團委網站的資訊。

2 四川大學網絡媒體現狀分析

經調查,四川大學學生最經常訪問的校園官方網絡平臺有“四川大學教務處網站”、“四川大學團委網站”、“四川大學學生工作處網站”,其主要原因在于以上幾個網絡媒體平臺經常頒布貼近學生校園生活的資訊信息,學生急需從中獲取及時的資訊了解校園內的實時動態?,F階段,四川大學官方網絡媒體具有以下幾個特點:

2.1 資訊重復出現,缺乏系統性

新媒體飛速發展,其主要原因在于其便捷和便利的特點。經過調查發現,四川大學教務處網站、團委網站、學生工作處網站上經常出現資訊重復的現象,一則通知或新聞因其工作性質與網站直屬單位相同而被同時在多個網絡平臺上。網頁的主頁設計中,一般會將5-8條的資訊顯示在主頁面上,其余的資訊需點擊“更多”進行查看。學生在瀏覽網站了解資訊時,主要關注的就是頁面中通知欄、新聞欄的即時信息,很少點擊“更多”查看未全部顯示的信息,如此重復信息的出現,極可能導致信息的更新而使學生錯過還未閱讀的資訊信息。

2.2 資訊分布廣,使用效率低

資訊分布廣是現階段四川大學網絡平臺的一個主要特點,同時也是一個亟待解決的問題。廣泛的信息分布使學生在瀏覽信息時疲于奔命,再加之校園網刷新速度較慢,很大程度上降低了學生的使用效率。效率降低了,也違背了新媒體這一新興產業的初衷,高效率的獲取資訊是廣大學生的需求。

3 及時、高效地獲取資訊的對策研究

3.1 及時性

所謂及時性,需要使學生在瀏覽網頁時能第一時間了解到同步更新的資訊。

3.2 高效性

所謂高效性,需要使學生在有限的時間內盡可能多得獲得有效的資訊。

結合以上兩點,資源整合概念是解決這一問題的最佳對策。

資源整合是系統論的思維方式,針對本文提出的問題,就是要通過科學化的方法將四川大學教務處網站、團委網站、學生工作處網站彼此相關但又分離的資訊,通過計算機科學技術的方法整合到一起。

具體方法是設計一個四川大學資訊整合網站,將三個網站的通知、新聞獲取到一個網站上,使學生在登陸瀏覽一個網站時就可以關注到三個網站的實時信息。同時,網站將使用自動更新技術實現及時性,使用去除重復的方法實現高效性。

4 實現資源整合的核心技術

網絡爬蟲是在搜索引擎領域中廣泛使用的技術,而其主要是根據用戶的需求,在制定的網絡范圍內搜尋消息。這項技術可以運用在實現本文提出的資源整合理念上。本節將概述網絡爬蟲技術并介紹實現網絡爬蟲相關技術。

4.1 網絡爬蟲技術概述

網絡爬蟲是通過網頁的鏈接地址尋找網頁的程序,如圖1所示,它從網站的某一個頁面開始讀取網頁的內容,找到網頁的其他鏈接地址,然后不斷地遞歸循環,直到把網站內所需資源遍歷完整為止。

在抓取網頁的時候,網絡爬蟲一般有兩種策略:(1)廣度優先策略;(2)深度優先策略。

4.2 Java語言

Java語言具有簡單性、多線程性、與平臺無關性的特點。

網絡爬蟲需要對多個頁面進行解析,顯然,單線程的工作效率極低,程序會因此出現瓶頸。單線程技術需要一個接一個地等待響應,等待時間將是每個網頁請求等待響應的時間。因此,多線程是實現網絡爬蟲的必要技術。

4.3 Jsoup Html解析工具

Jsoup是一種Java的Html解析器,可以直接解析某個URL地址、HTML文本內容。Jsoup提供了較為方便的API,可以通過類似于JQuery的操作方法進行數據操作。

主要功能有:從URL中直接獲取頁面HTML,使用DOM、CSS選擇器查找、獲取數據,實現對HTML的簡單操作。

4.4 JDBC數據庫訪問

網絡爬蟲解析HTML后,將獲取有用信息儲存在數據庫。Java提供了JDBC(Java Data Base Connectivity)接口來進行數據庫訪問。JDBC的用途是通過向數據庫發送SQL請求語句,讓使用者從數據庫中獲取請求的信息。

網絡爬蟲范文4

關鍵詞:網絡爬蟲;Web網頁;學習資源

中圖分類號:TP319

文獻標識碼:A

文章編號:16727800(2017)004011103

0引言

隨著信息技術的發展,互聯網信息量呈指數級爆炸性增長[1],信息淹沒在浩瀚如海的互聯網數據中。用戶要從海量、異構、半異構、動態數據中快速獲取有價值的學習資源是非常困難的。網絡中學習資源數據量龐大,百度、Google檢索也僅收錄了頁面的1/3,基于漢語自身的復雜性及特點,檢索獲取有價值的學習資源效率低、花費時間長[2]。為此,設計并實現了一個學習資源爬蟲系統,使學習資源檢索能快速、準確地達到預期目標。首先對學習資源的概念、類型、格式作一定闡述與界定。學習資源是指學習、教育被應用、參考,并以數字化信息加載的一切對象;學習資源類型是指試題、試卷、案例、問題解答、媒體素材、網絡課程、網絡課件;學習資源格式是指HTML、TXT、Word、PPT、PDF、Excel格式的文本或文檔。

1系統總體設計

聚焦網絡爬蟲(Web Crawler)也稱為主題網絡蜘蛛,是一個自動下載網頁的計算機程序。設置初始的URL(Uniform Resource Location)隊列序列化開始爬取,解析原URL指向的網頁并提取新的URL鏈接與頁面信息,提取過程中對網頁信息、文檔文本進行過濾,剔除重復、不符合要求的URL及文本文檔,下載有關主題信息儲入數據庫,并且不斷遍歷整個過程,直至程序報錯或達到系統的預定規則而停止[3]。本系統設計學習資源爬蟲結構如圖1所示,根據系統的爬蟲結構,其功能模塊主要包括:網頁抓取、網頁解析、內容去重、內容下載。系統的功能模塊其學習資源爬蟲流程如圖2所示。

2系統功能模塊

2.1網頁抓取

網頁抓取策略包括深度優先搜索策略、最佳優先搜索策略、廣度優先搜索策略。深度優先搜索策略在深度大、數據多時,抓取深度、命中率以及抓取效率會大幅下降,同時由于受系統堆棧容量限制,內存也會產生溢出;最佳優先策略是一種局部最優搜索算法,需結合具體應用進行改進;廣度優先搜索策略必須考慮溢出和節省內存空間的問題,運行速度要比深度優先搜索快很多。本文采用廣度優先爬蟲策略結合反網絡爬蟲策略,網頁抓取時應配置爬蟲網頁的腳本,配置網頁腳本為XML、Groovy文件,XML用于限定爬蟲的對象范圍,過濾與學習資源無關的信息;Groovy用于限定爬蟲對象內容的范圍,為網頁內容過濾掉“廣告條”以及網頁下方的網站說明等信息。系統啟動時將初始的URL種子集隊列放入Redis SitesQueue臨時數據庫,并不斷地從Redis隊列中抽取URL,解析其DNS,訪問網頁協議HTTP、主機名、路徑,建立網絡通信發送請求報文,連接Web服務器下載頁面并把頁面內容及鏈接信息保存到本地磁盤上[4],以節約主機內存的占用,提高網頁抓取效率。

2.2網頁解析

網頁解析是網頁處理的起點,程序發送請求信息,協議允許訪問頁面則進入頁面框架。通過解析類ParserFile.class對HTML網頁進行DOM解析,其中包括HTML標簽、元素內容、腳本內容、注釋等,用index處理HTML中的標簽、文本、注釋、指令,以及這些符號之間的語法關系,如標簽與標簽、標簽與文本的關系。主要解析標簽包括:正文標題(Title)、正文內容(Article)、鏈接(Link)、作者(Author)、時間(Publishtime)、來源(Source)。用inline處理錨文本對應URL鏈接節點下的“href”屬性,獲取錨文本與URL之間的對應關系。在DOM解析與URL語法解析的基礎上,即可進行網頁內容的識別操作[5],提取內容進行去重處理,提取鏈接URL進行判斷處理。解析主要代碼如下://判斷fileDir文件的第index個dom中,有無嵌套標簽 Element dom_el=root.getChild("list").getChildren("dom").get(domNo);String inline = dom_el.getChildText("inline");if(inline != null && !"".equals(inline)) return true;else return false;//inline 標簽有幾個attr屬性Element dom_el=root.getChild("list").getChildren("dom").get(domNo);Element inline_el = dom_el.getChild("inline");int depth = inline_el.getChildren().size()+1;

2.3內容去重

目前Internet的重復網頁約占35%~45%,大部分是內答轉載。爬取這些網頁或者重復內容既占用網絡帶寬又浪費資源,用戶不希望收集一堆內容相同或近似的檢索結果。因此,程序啟動之前已配置網頁腳本為XML、Groovy文件,在URL中限定了爬蟲對象、內容的范圍,剔除了與學習資源無關的信息內容。程序運行時,處理爬蟲過程中存在的重復網址,剔除重復學習資源內容或文本文檔?;ヂ摼W學習資源范圍和數量龐大,選擇好的去重策略,能節約大量爬蟲時間,提高爬蟲效率[67]。程序對Redis緩存內容去重效率相當高,對內存要求也相對較高。同時Redis要關閉VM功能,需要設置好redis.conf配置文件,因為內存使用過高將導致內存溢出。內容去重主要包括正文標題(Title)、正文內容(Article)的去重,是一種高效去重的方法。

2.4內容下載

網頁分為靜態和動態。靜態網頁由HTML代碼生成,頁面的內容、結果基本不會有變化;動態網頁是相對靜態的一種網頁編程技術,具有如下幾個特點:交互性、更新性、效果動態性。由于動態網站腳本與服務器異步交互易產生數據丟失,需借助Firfox瀏覽器、Webdriver測試工具解決該問題,以進行完整、高效、自動的批量網頁內容下載。系統運行主程序MainQuartz和子程序ListStart、DetailStart時,ListStart子程序根據節點下載網址的主列表,DetailStart子程序下載列表項內容。List表下載鏈接URL、時間、標題、來源,Article表下載正文內容、時間、來源、作者、描述、關鍵字。下載模塊始終在監聽等待爬蟲List表和Article表,如果為空,則處于等待狀態;如果不為空,則下載列表內容,查看HeidiSQL數據庫管理界面,存儲記錄每一條爬取成功的信息。

3系統開發環境

硬件配置:CPU為Intel Core i5,內存為8G,硬盤500G。 軟件配置:操作系統為Windows7 64bit,軟件集成開發工具為Eclipse,開發語言為Java,數據庫為MySQL、Redis。 本系統需要對Redis緩存內容去重,對內存要求會偏高,因此采用CPU Intel Core i5,內存8G。開發工具是以Eclipse為集成框架,開發語言采用Java,因已生成的類包庫可以直接調用,簡單方便。Redis作為緩存數據庫,可大幅提高爬蟲效率,也相對減輕了δ詿嫻男棖螅很大程度上避免了內存溢出,MySQL為存儲數據庫。

4系統爬蟲結果與結論

根據爬蟲結構、功能設計與系統開發環境的配置,爬蟲數據來源于中國教育信息網、百度文庫資源、小學資源網、小教資源網,以及部分研究機構與高校的共享資源等。爬取學習資源Article表數據如圖3所示。由List表和Article表的數據可知,List爬蟲存入數據庫的平均速度為1.3頁/秒,Article表爬蟲存入數據庫的平均速度為6.5頁/秒,學習資源爬蟲的平均速度為4.0頁/秒,準確率在95%左右。系統可大幅提高抓取學習資源的準確率與效率,同時提升了獲取的學習資源的價值性。

爬取的學習資源為HTML、TXT、Word、PPT、PDF、Excel的文本或文檔。其中影響爬蟲的因素有網速、網址服務器以及學習資源的文本或文檔大小等。本文設計的學習資源爬蟲系統采用廣度優先爬蟲和反網絡爬蟲策略,通過解析類ParserFile.class對HTML網頁進行DOM解析,通過程序對Redis緩存內容去重,并借助webdriver、Firfox瀏覽器,進行完整、高效、自動的批量網頁內容下載,改善了網絡爬蟲易被屏蔽的缺點,降低了爬蟲難度與任務量,同時解決了動態網站腳本與服務器異步交互的數據丟失問題,優化了學習資源獲取的準確率、效率,從而獲取更多、更有價值的學習資源。

參考文獻:[1]孫立偉,何國輝,吳禮發.網絡爬蟲技術的研究[J].電腦知識與技術,2010(15):41124115.

[2]楊彥軍,郭紹青.ELearning學習資源的交互設計研究[J].現代遠程教育研究,2012(1):6267.

[3]J CHO.Crawling the Web:discovery and maintenance of largescale Web data[J].International Journal of Advances in Engineering Sciences, 2001,3(3):6266.

[4]翁巖青. 網頁抓取策略研究[D].哈爾濱:哈爾濱工程大學,2010.

[5]王Z琦. 基于內容單元的網頁解析與內容提取[D].哈爾濱:哈爾濱工業大學,2008.

網絡爬蟲范文5

關鍵詞 搜索引擎;FTP;Web

1 背景

當前,計算機網絡已經越來越普及,各個單位也已經逐步建立自己的FTP(File Transfer Protocol)服務器,用來管理存儲對于自己單位內部共享的一些文件或者對外共享的一些文件。隨著被FTP管理的文件數量的不斷增長,達到上萬、上百萬,甚至更多的時候,如何在如此龐大數據里邊更快捷的找到自己所需的文件,將成為一個很重要的問題。

目前出現了一些FTP搜索引擎,可以用來搜索整個互聯網內處于匿名訪問的FTP上的文件信息,而需要權限才能訪問的FTP則無法直接建立索引,因此不能達到搜索效果。本文擬構建的FTP搜索引擎是針對單位內部,局域網內的一個或者幾個FTP服務器建立的;使內部用戶直接可以看到FTP上的目錄結構,并可以準確的搜索文件位置,然后下載瀏覽,達到檢索高效、準確。2 擬構建系統之模型

根據拓撲結構,內部網絡部署若干臺FTP服務器,根據需要,在每臺需要被查詢的FTP服務器上,建立掃描文件結構發生變化的爬蟲程序,并在內部網絡建立FTP文件索引數據庫服務器,用來存放FTP服務器上爬蟲程序獲取的索引數據,另外還要建立Web服務器,用來做Web查詢。3系統模式分析

本系統采用兩個模塊構建,分別是部署于FTP服務器的爬蟲程序和部署于Web服務器的索引查詢引擎。

部署于FTP服務器的爬蟲是一用來監控FTP文件結構變化的程序,它用來監視FTP服務器的變化,當FTP服務器有新的文件上傳或者有文件被刪除或者文件位置發生變化的時候,爬蟲程序會立即捕捉到此變化,然后將變化信息響應到建立索引的數據庫服務器。

部署于Web服務器的查詢引擎是主要用來做查詢服務,以及針對用戶輸入的查詢關鍵字做模糊處理,直接以模糊方式查詢,當搜索到結果以后,顯示時候將文件所處FTP位置顯示,同時將對應的超級連接做在上邊,可以方便直接下載。

在訪問范圍上,擬構建的搜索系統可以供內網和外網同時檢索,訪問方式

如圖一所示,將Web服務器在內部網絡,同時開放到Internet,可提供到Internet訪問。通過Web服務器來對內和對外提供檢索服務。內部用戶通過內部網絡直接訪問Web服務器來訪問搜索引擎,外部用戶通過Internet來訪問Web搜索引擎。4 系統的實現

FTP服務器爬蟲程序主要用來建立FTP文件的樹形結構,如圖2所表示,每獲得一個服務器就建立一個FTP根節點,然后在遍歷根節點下邊的子節點,直到將子節點遍歷完畢。FTP服務器爬蟲程序可以采用Java或者C++等程序來實現,可以作為操作系統的一個服務來加載。此種爬蟲程序可以根據需求分為兩類,一類是實時記載服務器文件結構變化的,一類是分周期的記載數據庫變化的。

實時記載的爬蟲程序運行過程是:當初始加載到一個新的FTP服務器,爬蟲程序首先遍歷該服務器,獲得該服務器的文件結構,同時將此結構記載到數據庫服務器,當遍歷完整個服務器后,然后就進入監控狀態,實時記載服務器變化,當文件增加時在原數據基礎上追加數據,當文件更改位置后,修改對應記錄的數據,當文件被刪除時清除數據庫中的對應記錄。

分周期記載的爬蟲程序的運行過程是:當加載到一個新的FTP服務器,程序遍歷該服務器,獲得服務器的文件結構,同時也將此結構記載到數據庫服務器,當過一定周期后,重新遍歷服務器文件結構,將結果再記載到數據庫,并刪除原有的遍歷結果,如此反復。

兩類程序有各自的優缺點,第一類實時性比較強,當服務器文件結構發生變化后,立即可以體現到檢索結構中,但缺點是占用FTP系統資源太多,可能會影響FTP服務性能;第二類正好與相反,因為它是周期性的遍歷,因此可選擇FTP比較空閑的時候來遍歷,不會太多影響FTP服務性能,但實時性就比較差,不能將FTP的文件變化立刻體現到檢索結果中去。兩類程序可根據服務器性能來選擇合適的類型。

搜索引擎Web端可以采用J2EE+AJAX來實現,用戶檢索時可選擇精確檢索和模糊檢索,精確檢索查詢完全匹配的,模糊查詢檢索可以用相似性來檢索。此外,針對每個獨立的FTP主機,遍歷其上爬蟲程序建立于數據庫的索引樹結構,就可以建立起虛擬的FTP文件結構,從而可以在WEB程序上顯示FTP的文件結構。

5 結束語

本文討論建立基于局域網的單個FTP和多個FTP的搜索,根據FTP服務器的實際情況,選擇適合的爬蟲程序類型,建立索引樹。對于本文設計構建的結果,可以將本系統推廣于Internet,將爬蟲程序置入需要索引的FTP上,或者通過外部間接獲取索引,從而達到FTP的文件搜索效果,使得用戶更加高效的找到所需要的文件。(作者:李俊青 季文天;編選:中國搜索研究中心)

參考文獻

網絡爬蟲范文6

關鍵詞:互聯網視頻網站;爬蟲技術;獲取數據

中圖分類號:TN915.08 文獻標識碼:A 文章編號:1671-2064(2017)03-0030-01

在當前階段中,隨著計算機網絡技術的不斷完善,各個領域當中的數據在不斷增加,從而使當前社會進入到大數據時代,這些數據可以為各個領域的發展提供良好的幫助。這種情況下,為了使互聯互聯網視頻網站更好的為人們提供視頻,就要更好的對這些數據進行獲取。因此,加強對互聯網視頻網站使用爬蟲技術獲取數據的研究具有重要意義,促進我國互聯網視頻網站更好的發展。

1 互聯網視頻網站數據獲取的特點

1.1 一般特點

隨著社會的發展,科學技術的不斷進步,計算機網絡技術得到了飛速的提升,從而出現了大量的數據,其中就包括了互聯網視頻網站數據,在這些數據當中,就會體現出很多的特點,主要有以下幾個方面:(1)數據體量巨大。在人們的生活當中,利用網絡觀看視頻是主要的娛樂方式之一,因此,在觀看的過程中,就會出現很多的網絡信息,如用戶的個人信息,用戶對節目觀看的信息,節目自身具有的信息等等,從而使其具有了數據體量巨大的特點;(2)數據類型繁多。在對視頻網站進行應用時可以發現,在其中包含了很多形式的內容,如圖片、視頻、文字等,因此,就說明視頻網站產生的數據出現了類型繁多的特點;(3)價值密度低。在視頻網站運行的過程中,是連續不斷的產生數據的,而在這些數據當中,包括了各個種類的信息,而在這些信息當中,有些信息存在的價值往往不是很高,不會影響到視頻網站的發展;(4)處理速度快。這一特點就體現在人們對視頻觀賞時,能夠立刻的產生數據,據相關部門統計,互聯網視頻網站每秒產生的數據是以PB為單位的[1]。

1.2 獲取網頁信息

在互聯網視頻網站數據當中,除了具有上述的一般特點之外,還具有獲取網頁信息的特點。在對視頻網站開發的過程中,可以利用很多技術來完成,如英文超級文本預處理語言技術、面向對象程序設計語言技術等,雖然這些技術的方式具有一定差異,但是在對數據進行傳輸時,使用的原理相差不是很大,都是利用相應的HTTP協議,將數據傳遞到用戶當中。并且,由于互聯網視頻網站數據具有上述的一般特點,因此,在其對數據進行獲取時,還可以獲取一些網頁當中的信息,通過對網頁中的信息進行應用,從而為視頻網站更好的運行提供了幫助[2]。

2 互聯網視頻網站獲取數據時爬蟲技術的應用

2.1 網絡爬蟲的算法分析

在應用爬蟲技術對互聯網視頻網站數據進行獲取時,是利用相應的算法來完成的,而在當前的算法當中,主要有以下三種:第一種是深度優先搜索算法,該算法是爬蟲技術當中最基礎的算法,同時也是出現最早的一種算法,其目標是要到達結構的最外結點,即在搜索時不能將具有鏈接的HTML文件檢索出來。該算法運行當中,首先沿著一條鏈接進行檢索,直到邊緣節點為止,將該條連接中的所有數據搜索出來,然后在對另一條鏈接進行搜索,從而使視頻網站獲得了相應的數據。使用該種算法獲取數據時,能夠準確的檢索出整個文件中的數據,但是由于網絡的復雜性,在對數據搜索時,常常會導致該算法中斷,不能對其他鏈接進行檢索;第二種為寬度優先算法,就是在視頻網站信息獲取的過程中,根據網站的結構不同,沿著寬度的方面,一層一層的進行搜索[3]。

2.2 算法改進

由于上訴的基本算法都存在一定的缺陷,對互聯網視頻網站的數據獲取帶來了一定的影響,其中最好優先搜索算法的缺陷較小,只是存在查全率不高的問題,因此,就要對該算法進行改進。在利用改進算法進行檢索時,在對一個文件查找完成后,就算該文件與本次查找關系不大,但是也不會對其進行忽略,而是將其儲存到相應的位置,對其進行深入的分析,分析出每個信息中是否會存在視頻網站有用的信息,如果不存在這一類信息,才可以繼續對其他文件進行檢索,然后利用該種算法對整個網絡進行檢索,從而改善了查全率不高的問題,使互聯網視頻網站數據獲取的效果更高[4]。

3 結語

綜上所述,在當前的互聯網當中,大數據為其發展提供了重要的幫助,但是,由于大數據具有的開放性、共享性等特點,在使用的過程中還會存在一定的風險,因此,在利用爬蟲技術對互聯網視頻網站的數據進行獲取時,要加強對數據風險的防范,能夠保證網站的安全性、可靠性。

參考文獻

[1]孔濤,曹丙章,邱荷花.基于MapReduce的視頻爬x系統研究[J].華中科技大學學報(自然科學版),2015,09(05):129-132.

[2]鄧炳光,郭慧蘭,張治中.移動互聯網用戶行為分析系統中聚焦爬蟲的設計與實現[J].重慶郵電大學學報(自然科學版),2015,11(03):359-365.

亚洲精品一二三区-久久