⑴ 網路爬蟲 python 畢業論文呢
做爬蟲,特別是python寫說容易挺容易,說難也挺難的,
舉個栗子 簡單的:將http://paste.ubuntu.com上面的所有代碼爬下來
寫個for循環,調用urllib2的幾個函數就成了,基本10行到20行以內的代碼
難度0
情景:
1.網站伺服器很卡,有些頁面打不開,urlopen直接就無限卡死在了某些頁面上(2.6以後urlopen有了timeout)
2.爬下來的網站出現亂碼,你得分析網頁的編碼
3.網頁用了gzip壓縮,你是要在header裡面約定好默認不壓縮還是頁面下載完畢後自己解壓
4.你的爬蟲太快了,被伺服器要求停下來喝口茶
5.伺服器不喜歡被爬蟲爬,會對對header頭部瀏覽器信息進行分析,如何偽造
6.爬蟲整體的設計,用bfs爬還是dfs爬
7.如何用有效的數據結構儲存url使得爬過的頁面不被重復爬到
8.比如1024之類的網站(逃,你得登錄後才能爬到它的內容,如何獲取cookies
以上問題都是寫爬蟲很常見的,由於python強大的庫,略微加了一些代碼而已
難度1
情景:
1.還是cookies問題,網站肯定會有一個地方是log out,爬蟲爬的過程中怎樣避免爬到各種Log out導致session失效
2.如果有驗證碼才能爬到的地方,如何繞開或者識別驗證碼
3.嫌速度太慢,開50個線程一起爬網站數據
難度2
情景:
1.對於復雜的頁面,如何有效的提取它的鏈接,需要對正則表達式非常熟練
2.有些標簽是用Js動態生成的,js本身可以是加密的,甚至奇葩一點是jsfuck,如何爬到這些
難度3
總之爬蟲最重要的還是模擬瀏覽器的行為,具體程序有多復雜,由你想實現的功能和被爬的網站本身所決定
爬蟲寫得不多,暫時能想到的就這么多,歡迎補充
⑵ 求網路爬蟲參考文獻
主題網路爬蟲研究綜述
摘要: 首先給出了主題網路爬蟲的定義和研究目標; 然後系統分析了近年來國內外主題爬蟲的研究方法和技
術, 包括基於文字內容的方法、基於超鏈分析的方法、基於分類器預測的方法以及其他主題爬行方法, 並比較了
各種方法優缺點; 最後對未來的研究方向進行了展望。
關鍵詞: 主題網路爬蟲; 信息檢索; Web 挖掘
中圖分類號: TP391 文 獻標志碼: A 文 章編號: 1001- 3695( 2007) 10- 0026- 04
Survey on topic-focused Web crawler
LIU Jin-hong, LUYu-liang
( Dept. of Network, PLA Electric Engineer Institute, Hefei 230037, China)
Abstract: This paper gave the goal of focused crawling, then comprehensively analyzed the recent advances of the relevant researches
and applications about focused-crawler, included focused crawling methods based on text contents, link analyses』
methods, classifier-guided methods and other focused methods. Finally pointed out the future direction of focused crawling.
Key words: topic-focused crawler; information retrieval; Web mining
0 引言
隨著網路上海量信息的爆炸式增長, 通用搜索引擎面臨著
索引規模、更新速度和個性化需求等多方面的挑戰[ 1, 2] 。面對
這些挑戰, 適應特定主題和個性化搜索的主題網路爬蟲( focused
crawler or topical crawler) 應運而生[ 3, 4] 。基於主題網路
爬蟲的搜索引擎( 即第四代搜索引擎) 已經成為當前搜索引擎
和Web 信息挖掘中的一個研究熱點和難點。
通用網路爬蟲的目標就是盡可能多地採集信息頁面, 而在
這一過程中它並不太在意頁面採集的順序和被採集頁面的相
關主題。這需要消耗非常多的系統資源和網路帶寬, 並且對這
些資源的消耗並沒有換來採集頁面的較高利用率。主題網路
爬蟲則是指盡可能快地爬行、採集盡可能多的與預先定義好的
主題相關的網頁。主題網路爬蟲可以通過對整個Web 按主題
分塊採集, 並將不同塊的採集結果整合到一起, 以提高整個
Web 的採集覆蓋率和頁面利用率。
1 主題爬蟲的定義和研究目標
定義1 網路爬蟲是一個自動提取網頁的程序, 它為搜索
引擎從Web 上下載網頁, 是搜索引擎的重要組成部分。通用
網路爬蟲從一個或若干初始網頁的URL 開始, 獲得初始網頁
上的URL 列表; 在抓取網頁的過程中, 不斷從當前頁面上抽取
新的URL 放入待爬行隊列, 直到滿足系統的停止條件。
定義2 主 題網路爬蟲就是根據一定的網頁分析演算法過
濾與主題無關的鏈接, 保留主題相關的鏈接並將其放入待抓取
的URL 隊列中; 然後根據一定的搜索策略從隊列中選擇下一
步要抓取的網頁URL, 並重復上述過程, 直到達到系統的某一
條件時停止。所有被網路爬蟲抓取的網頁將會被系統存儲, 進
行一定的分析、過濾, 並建立索引, 對於主題網路爬蟲來說, 這
一過程所得到的分析結果還可能對後續的抓取過程進行反饋
和指導。
定義3 如果網頁p 中包含超鏈接l, 則p 稱為鏈接l 的父
網頁。
定義4 如果超鏈接l 指向網頁t, 則網頁t 稱為子網頁,
又稱為目標網頁。
主題網路爬蟲的基本思路就是按照事先給出的主題, 分析
超鏈接和已經下載的網頁內容, 預測下一個待抓取的URL 以
及當前網頁的主題相關度, 保證盡可能多地爬行、下載與主題
相關的網頁, 盡可能少地下載無關網頁。相對於通用網路爬
蟲, 主題網路爬蟲需要解決以下四個主要問題:
a) 如何描述或定義感興趣的主題( 即抓取目標) ?
b) 怎樣決定待爬行URL的訪問次序? 許多主題網路爬蟲
根據己下載網頁的相關度, 按照一定原則將相關度進行衰減,
分配給該網頁中的子網頁, 而後將其插入到優先順序隊列中。此
時的爬行次序就不是簡單地以深度優先或廣度優先順序, 而是
按照相關度大小排序, 優先訪問相關度大的URL。不同主題
網路爬蟲之間的區別之一就是如何計算URL的爬行次序。
c) 如何判斷一個網頁是否與主題相關? 對於待爬行或己
下載的網頁可以獲取它的文本內容, 所以可以採用文本挖掘技
術來實現。因此不同主題網路爬蟲間的區別之二就是如何計
算當前爬行網頁的主題相關度。
⑶ 網路爬蟲的技術研究
基於目標數據模式的爬蟲針對的是網頁上的數據,所抓取的數據一般要符合一定的模式,或者可以轉化或映射為目標數據模式。
另一種描述方式是建立目標領域的本體或詞典,用於從語義角度分析不同特徵在某一主題中的重要程度。
⑷ 網路爬蟲的產生背景
隨著網路的迅速發展,萬維網成為大量信息的載體,如何有效地提取並利用這些信息成為一個巨大的挑戰。搜索引擎(Search Engine),例如傳統的通用搜索引擎AltaVista,Yahoo!和Google等,作為一個輔助人們檢索信息的工具成為用戶訪問萬維網的入口和指南。但是,這些通用性搜索引擎也存在著一定的局限性,如:
(1) 不同領域、不同背景的用戶往往具有不同的檢索目的和需求,通用搜索引擎所返回的結果包含大量用戶不關心的網頁。
(2)通用搜索引擎的目標是盡可能大的網路覆蓋率,有限的搜索引擎伺服器資源與無限的網路數據資源之間的矛盾將進一步加深。
(3)萬維網數據形式的豐富和網路技術的不斷發展,圖片、資料庫、音頻、視頻多媒體等不同數據大量出現,通用搜索引擎往往對這些信息含量密集且具有一定結構的數據無能為力,不能很好地發現和獲取。
(4)通用搜索引擎大多提供基於關鍵字的檢索,難以支持根據語義信息提出的查詢。
為了解決上述問題,定向抓取相關網頁資源的聚焦爬蟲應運而生。聚焦爬蟲是一個自動下載網頁的程序,它根據既定的抓取目標,有選擇的訪問萬維網上的網頁與相關的鏈接,獲取所需要的信息。與通用爬蟲(general?purpose web crawler)不同,聚焦爬蟲並不追求大的覆蓋,而將目標定為抓取與某一特定主題內容相關的網頁,為面向主題的用戶查詢准備數據資源。
1 聚焦爬蟲工作原理以及關鍵技術概述
網路爬蟲是一個自動提取網頁的程序,它為搜索引擎從萬維網上下載網頁,是搜索引擎的重要組成。傳統爬蟲從一個或若干初始網頁的URL開始,獲得初始網頁上的URL,在抓取網頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統的一定停止條件。聚焦爬蟲的工作流程較為復雜,需要根據一定的網頁分析演算法過濾與主題無關的鏈接,保留有用的鏈接並將其放入等待抓取的URL隊列。然後,它將根據一定的搜索策略從隊列中選擇下一步要抓取的網頁URL,並重復上述過程,直到達到系統的某一條件時停止。另外,所有被爬蟲抓取的網頁將會被系統存貯,進行一定的分析、過濾,並建立索引,以便之後的查詢和檢索;對於聚焦爬蟲來說,這一過程所得到的分析結果還可能對以後的抓取過程給出反饋和指導。
相對於通用網路爬蟲,聚焦爬蟲還需要解決三個主要問題:
(1) 對抓取目標的描述或定義;
(2) 對網頁或數據的分析與過濾;
(3) 對URL的搜索策略。
抓取目標的描述和定義是決定網頁分析演算法與URL搜索策略如何制訂的基礎。而網頁分析演算法和候選URL排序演算法是決定搜索引擎所提供的服務形式和爬蟲網頁抓取行為的關鍵所在。這兩個部分的演算法又是緊密相關的。
2 抓取目標描述
現有聚焦爬蟲對抓取目標的描述可分為基於目標網頁特徵、基於目標數據模式和基於領域概念3種。
基於目標網頁特徵的爬蟲所抓取、存儲並索引的對象一般為網站或網頁。根據種子樣本獲取方式可分為:
(1) 預先給定的初始抓取種子樣本;
(2) 預先給定的網頁分類目錄和與分類目錄對應的種子樣本,如Yahoo!分類結構等;
(3) 通過用戶行為確定的抓取目標樣例,分為:
(a) 用戶瀏覽過程中顯示標注的抓取樣本;
(b) 通過用戶日誌挖掘得到訪問模式及相關樣本。
其中,網頁特徵可以是網頁的內容特徵,也可以是網頁的鏈接結構特徵,等等。