https://github.com/emyller/webkitcrawler
html
一個開源的項目,能夠快速入門。前端
http://spiderformysql.com/
mysql
http://crawl.group.iteye.com/關於爬蟲的一個罈子,主要是Java開源組件Heritrix,nutch爬蟲的源碼剖析
git
一些基於webkit實現爬蟲的文章github
http://www.cnblogs.com/Jiajun/archive/2012/12/12/2813888.htmlweb
http://rfyiamcool.blog.51cto.com/1030776/1287810
正則表達式
http://www.haogongju.net/art/511472sql
http://blog.csdn.net/rongrong0206/article/details/6087974
瀏覽器
http://wenku.baidu.com/view/39b88fdd6f1aff00bed51eb5.html
安全
http://www.lianglong.org/tags/webkit/
1.http://www.blueidea.com/tech/program/2009/6571_2.asp
2.http://blog.csdn.net/ciml/category/317893.aspx
3.http://leopard168.blog.163.com/blog/static/168471844201072112642310/
摘 要: 以AJAX技術爲表明的Web應用新技術的出現,賦予了JavaScript更加豐富的功能。但也致使更多的URL以數據形式存在於JavaScript 代碼中,給網絡爬蟲的URL提取帶來了新的挑戰。爲了解決這一問題,在此提出了一種基於WebKit的網絡爬蟲,以WebKit做爲爬蟲的前端來解析並執 行JavaScript。一是實現JavaScript對網頁DOM的修改,從而將存在於此類代碼中的URL轉換成HTML形式並以靜態分析方法來提取; 二是定位JavaScript頁面導航的代碼而且劫持輸入導航方法及對象的變量以提取變量中的URL。這充分下降了客戶端腳本給爬蟲帶來的障礙,從而更好 地提取網頁中的URL。
關鍵詞: 網絡爬蟲; 瀏覽器引擎; WebKit; JavaScript 1004?373X(2013)18?0062?03 0 引 言 隨着各類形式的互聯網應用不斷出現,互聯 網正在顯著改變着人類的生活方式,互聯網應用已經成爲了一部分人類生活中不可或缺的一部分。互聯網規模的不斷擴大,互聯網上的信息也呈幾何倍數增加。如何 快速準確地找到所須要的信息就成了一個難題,而網絡爬蟲正是解決這個問題的關鍵。在網絡爬蟲的衆多應用場景中,最典型的例子就是搜索引擎。而在備受關注的 Web應用安全領域,網絡爬蟲也是不可或缺的一部分。 網絡爬蟲是一個按照必定邏輯掃描或者「爬 行」網頁的程序或者腳本。工做流程通常是根據設定的初始URL(統一資源定位符)從網絡上獲取相應的內容,從這些內容中抽取出須要的信息以及URL,隨後 以新抽取的URL爲基礎重複以前的工做。網絡爬蟲的目的並非單純的「爬行」,而是爲更高層次的目的所服務。好比搜索引擎所使用的爬蟲在爬行的過程當中會根 據關鍵字協助搜索引擎創建索引,而黑盒Web應用漏洞掃描工具所使用的爬蟲在工做時會將發現的Web應用入口記錄並提交給漏洞檢測模塊進行檢測。因此網絡 爬蟲的工做效果將直接決定這些工做的效果。 爲了解決JavaScript執行問題,本文提出了一種基於WebKit的網絡爬蟲。在網絡爬蟲中引入瀏覽器引擎,使得網絡爬蟲能夠執行JavaScript並對網頁進行渲染,獲取網頁在瀏覽器上呈現給用戶的結果,從而在以後的分析中提取到更多的URL。 1 WebKit分析 瀏覽器引擎,是瀏覽器的 核心部分,也稱瀏覽器內核,負責對網頁語法的解釋(如HTML,JavaScript)並渲染網頁。主流的瀏覽器引擎包括 Trident,Gecko,Presto以及WebKit。Trident是微軟Internet Explorer的瀏覽器引擎的名稱,主要使用者有IE和世界之窗瀏覽器。Gecko是由Mozilla基金會開發的瀏覽器引擎的名字,主要表明是 Firefox。Presto是一個由Opera Software開發的瀏覽器引擎,供Opera 7.0及以上使用。Webkit是一款開源的瀏覽器引擎[9],目前使用WebKit引擎的瀏覽器主要有蘋果Safari、谷歌Chrome、遨遊瀏覽器 以及360極速瀏覽器。
句 當中包含有URL,可是不會引發網頁DOM結構的變化,因此網頁渲染模塊不能使它們顯如今HTML中,還須要進一步分析JavaScript以提取這些 URL。URL隊列管理模塊的功能是管理URL隊列,負責決定下一個爬行的URL,並決定哪些新發現的URL須要放入隊列中。
3 運行測試 4 結 語 本文設計並實現了一種基於WebKit瀏 覽器引擎的網絡爬蟲,較好地實現了網頁中的JavaScript代碼對網頁的渲染,從而提高了網絡爬蟲的URL提取能力,能夠有效提升搜索引擎和Web應 用漏洞掃描程序的覆蓋率。目前在處理用戶觸發的JavaScript代碼(如onclick事件)方面還有所欠缺,這將是下一步的研究目標。 參考文獻 Wikipedia. Web crawler [EB/OL]. [2013?05?30]. http://en.wikipedia.org/wiki/Web_crawler. University of Toronto. HTML and XHTML document type definitions [EB/OL]. [2013?04?23]. http://