基于JavaWeb的网站图片爬虫系统
資源下載地址:https://download.csdn.net/download/sheziqiong/85811020
資源下載地址:https://download.csdn.net/download/sheziqiong/85811020
目 錄
1 前 言 1
2 系統(tǒng)概述 2
2.1 課題背景與意義 2
2.1.1 課題開發(fā)背景 2
2.1.2 課題開發(fā)意義 2
2.2 課題開發(fā)工具 3
2.2.1 JAVA和JSP技術(shù)簡(jiǎn)介 3
2.2.2 Tomcat 6.0服務(wù)器架構(gòu) 4
2.2.3 MyEclipse介紹 5
2.2.4總體開發(fā) 6
2.3 開發(fā)及運(yùn)行環(huán)境 6
3 系統(tǒng)分析 8
3.1 系統(tǒng)概述 8
3.2 系統(tǒng)功能分析 8
3.2.1 可行性分析 8
3.2.2 具體功能分析 8
3.3搜索引擎的分類 9
l、全文索引式搜索引擎 9
2、垂直搜索引擎 9
3、元搜索引擎 9
4、目錄索引式搜索引擎 9
5、其他非主流搜索引擎形式: 10
4 系統(tǒng)設(shè)計(jì) 10
4.1 數(shù)據(jù)庫(kù)設(shè)計(jì) 10
4.1.1 數(shù)據(jù)庫(kù)總體設(shè)計(jì) 10
4.1.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 11
4.2 系統(tǒng)總體設(shè)計(jì) 14
4.2.1 總體設(shè)計(jì) 14
4.2.2 系統(tǒng)邏輯處理 14
4.3 功能設(shè)計(jì) 15
4.3.1 網(wǎng)站登錄頁(yè) 15
4.3.2 系統(tǒng)界面 16
4.3.3 系統(tǒng)配置 17
5 系統(tǒng)實(shí)現(xiàn)與調(diào)試 18
5.1 系統(tǒng)實(shí)現(xiàn)概論 18
5.2 系統(tǒng)功能實(shí)現(xiàn) 18
5.2.1 文件結(jié)構(gòu)圖 18
5.2.2 文件詳細(xì)結(jié)構(gòu)圖 20
5.3 關(guān)鍵技術(shù)實(shí)現(xiàn) 20
5.3.1 web.xml 20
5.3.2 數(shù)據(jù)庫(kù)db_shopSystem連接部分 22
5.3.3 定時(shí)任務(wù)掃秒xml文件獲取爬蟲接口數(shù)據(jù) 23
5.4 調(diào)試過程中的常見錯(cuò)誤 24
5.4.1 JDK配置錯(cuò)誤 24
5.4.2 SQL空指針異常 25
5.4.3 數(shù)據(jù)庫(kù)連接錯(cuò)誤 25
6 結(jié) 論 26
致 謝 27
參 考 文 獻(xiàn) 28
3 系統(tǒng)分析
3.1 系統(tǒng)概述
傳統(tǒng)的網(wǎng)絡(luò)爬蟲技術(shù)主要應(yīng)刷于抓取靜態(tài)Web網(wǎng)頁(yè)l 31.隨著AJAX/Web2.0的流行,如何抓取AJAX等動(dòng)態(tài)頁(yè)面成了搜索引擎急需解決的問題,因?yàn)锳JAX
顛覆了傳統(tǒng)的純HTTP請(qǐng)求/響應(yīng)協(xié)議機(jī)制,如果搜索引擎依舊采用“爬”的機(jī)制,是無法抓取到AJAX頁(yè)面的有效數(shù)據(jù)的。AJAX采用了JavaScript驅(qū)動(dòng)的異步請(qǐng)求/響應(yīng)機(jī)制.以往的爬蟲們?nèi)狈avaScript語(yǔ)義上的理解.基本上無法模擬觸發(fā)JavaScript的異步調(diào)用并解析返回的異步回淵邏輯和內(nèi)容另外.在AJAX的應(yīng)用中,JavaScript會(huì)對(duì)D0M結(jié)構(gòu)進(jìn)行大量變動(dòng),甚至頁(yè)面所有內(nèi)容都通過JavaScript直接從服務(wù)器端讀取并動(dòng)態(tài)繪制出來。這對(duì)習(xí)慣了D0M結(jié)構(gòu)相對(duì)不變的靜態(tài)頁(yè)面簡(jiǎn)直是無法理解的由此可以看出.以往的爬蟲是基于協(xié)議驅(qū)動(dòng)的,而對(duì)于AJAX這樣的技術(shù),所需要的爬蟲引擎必須是基于事件驅(qū)動(dòng)的。要實(shí)現(xiàn)事件驅(qū)動(dòng),首先需要解決JavaScript的交互分析和解釋的問題。
本設(shè)計(jì)主要研究網(wǎng)絡(luò)爬蟲程序的設(shè)計(jì)與實(shí)現(xiàn),實(shí)現(xiàn)簡(jiǎn)單的可在后臺(tái)自動(dòng)運(yùn)行的爬蟲程序。爬取各個(gè)網(wǎng)站并下載圖片到服務(wù)器,展示圖片,圖片展示應(yīng)用瀑布流,響應(yīng)用戶請(qǐng)求。
3.2 系統(tǒng)功能分析
3.2.1 可行性分析
(1) 技術(shù)可行性:本系統(tǒng)的配置。
(2) 經(jīng)濟(jì)可行性:系統(tǒng)的配置,不需要昂貴的 EJB 服務(wù)器,開發(fā)成本低。
(3) 操作可行性:訪問系統(tǒng)的主要有兩種:用戶,管理員。目前資源的利用情況和可操作性,只需少量的對(duì)數(shù)據(jù)庫(kù)中的表的直接操作就可以實(shí)現(xiàn)系統(tǒng)的完整、穩(wěn)定的運(yùn)行,不會(huì)造成系統(tǒng)的巨大壓力。
3.2.2 具體功能分析
目前,比較常見的網(wǎng)絡(luò)爬蟲搜索策略有以下三種:
1、廣度優(yōu)先搜索策略。其主要思想是,由根節(jié)點(diǎn)開始,首先遍歷當(dāng)前層次的搜索,然后才進(jìn)行下一層的搜索,依次類推逐層的搜索。這種策略多用在主題爬蟲上,因?yàn)樵绞桥c初始URL距離近的網(wǎng)頁(yè),其具有的主題相關(guān)性越大。
2、深度優(yōu)先搜索策略。這種策略的主要思想是,從根節(jié)點(diǎn)出發(fā)找出葉子節(jié)點(diǎn),以此類推。在一個(gè)網(wǎng)頁(yè)中,選擇一個(gè)超鏈接,被鏈接的網(wǎng)頁(yè)將執(zhí)行深度優(yōu)先搜索,形成單獨(dú)的一條搜索鏈,當(dāng)沒有其他超鏈接時(shí),搜索結(jié)束。
3、最佳優(yōu)先搜索策略。該策略通過計(jì)算URL描述文本與目標(biāo)網(wǎng)頁(yè)的相似度,或者與主題的相關(guān)性,根據(jù)所設(shè)定的閾值選出有效URL進(jìn)行抓取。
3.3搜索引擎的分類
搜索引擎的分類主要有以下幾種:
l、全文索引式搜索引擎
全文索引式搜索引擎是現(xiàn)今主流的搜索引擎,國(guó)內(nèi)代表有Baidu,國(guó)外代表
有Google。全文索引式搜索引擎主要是將從因特網(wǎng)上提取到的與每個(gè)網(wǎng)頁(yè)相關(guān)
的基本信息集中起來建立一個(gè)鏡像數(shù)據(jù)庫(kù),借助檢索數(shù)據(jù)庫(kù)得到與查詢條件相匹
配的全部記錄,并按照一定的排列順序呈現(xiàn)給用戶。
全文搜索引擎按檢索結(jié)果的來源角度來分,具體可以分為以下兩大類:一類
搜索引擎其自身具備相對(duì)獨(dú)立的網(wǎng)頁(yè)提取、頁(yè)面索引及檢索系統(tǒng)(Indexer),也
具備獨(dú)立的爬蟲(Crawler)、“機(jī)器人"(Robot)程序或者“蜘蛛"(Spider)
程序,同時(shí)還具備獨(dú)立的網(wǎng)頁(yè)數(shù)據(jù)庫(kù),通過該網(wǎng)頁(yè)數(shù)據(jù)庫(kù)可以直接從中提取檢索
信息,在國(guó)內(nèi)外的大型全文搜索引擎中,Baidu和Google正是此類搜索引擎的典
型代表;另一類引擎其自身并不具備完整獨(dú)立的數(shù)據(jù)庫(kù),必須借助于其他搜索引
擎的頁(yè)面數(shù)據(jù)庫(kù),通過對(duì)該頁(yè)面數(shù)據(jù)庫(kù)進(jìn)行檢索并提取出相關(guān)的檢索信息,此類
搜索引擎的代表如Lycos。
2、垂直搜索引擎
2006年互聯(lián)網(wǎng)上逐漸出現(xiàn)了一類新的搜索引擎,即垂直搜索引擎。垂直
搜索與通用的網(wǎng)頁(yè)搜索引擎相比,它主要是設(shè)計(jì)為了服務(wù)特定的檢索領(lǐng)域和檢索需求,如影視檢索、票務(wù)檢索、圖書檢索等,其專業(yè)化服務(wù)使其在這些特定的搜索領(lǐng)域具有更為出色的表現(xiàn)。此外,垂直搜索較通用的網(wǎng)頁(yè)搜索引擎要求相
對(duì)較低的硬件成本、面向的用戶需求相對(duì)特定化、查詢的方式也可以是多種多樣。
3、元搜索引擎
用戶通過向元搜索引擎【131輸入檢索請(qǐng)求,該搜索引擎系統(tǒng)可以同時(shí)通過檢索多個(gè)其他搜索引擎系統(tǒng)的網(wǎng)頁(yè)數(shù)據(jù)庫(kù)提取相關(guān)搜索結(jié)果,并將其按特定順序排列呈現(xiàn)給用戶。
國(guó)內(nèi)外的元搜索引擎的代表有Dogpile(http://www.dogpile.corn)、InfoSpace等,搜星是比較具有代表性的中文元搜索。元搜索引擎的檢索結(jié)果按一定的排序呈現(xiàn),這種排列過程有的是基于來源排列檢索結(jié)果,此類代表有Dogpile;有的依據(jù)特定規(guī)則排列,如Vivisimo。
4、目錄索引式搜索引擎
目錄索引式搜索引擎雖然具備一定的檢索功能,但并不是嚴(yán)格意義上的搜索
引擎,它所實(shí)現(xiàn)的功能主要是借助一些搜索目錄或者是分類目錄來劃分網(wǎng)站鏈接列表。用戶可以選擇借助于對(duì)這些分類目錄進(jìn)行檢索來獲取所需要的相關(guān)信息和資料,而不需要通過關(guān)鍵詞(Keywords)的檢索來獲取目標(biāo)信息。如今,新浪、
雅虎等都是目錄索引式搜索引擎的的典型代表。
5、其他非主流搜索引擎形式:
MSN Search、AOL Saerch等門戶搜索引擎在提供檢索服務(wù)時(shí),由于其自身
不具備獨(dú)立的網(wǎng)頁(yè)數(shù)據(jù)庫(kù)也沒有獨(dú)立的分類目錄,因而這類引擎的檢索結(jié)果只能借助于其他搜索引擎來完成。集合式搜索引擎與元搜索引擎有著一定相似之處,也存在很大的差異,諸如它并不能同時(shí)對(duì)多個(gè)大型的全文搜索引擎系統(tǒng)進(jìn)行同步檢索,而需要由用戶在其提供的常用搜索引擎列表中手動(dòng)確定一個(gè)搜索引擎,然后對(duì)該搜索引擎中的數(shù)據(jù)庫(kù)進(jìn)行檢索,HotBot就是此類搜索引擎的代表。
免費(fèi)鏈接列表(Free For All Links,FFA)通常只提供滾動(dòng)鏈接條目,少部分存在著比較簡(jiǎn)單的分類目錄。
5.3 關(guān)鍵技術(shù)實(shí)現(xiàn)
5.3.1 web.xml
5.3.2 數(shù)據(jù)庫(kù)db_shopSystem連接部分
public static synchronized Connection getConn() {try {Properties properties = new Properties();properties.load(DBConn.class.getClassLoader().getResourceAsStream("jdbc.properties"));String driver = properties.getProperty("jdbc.driverClassName");String url = properties.getProperty("jdbc.url");String username = properties.getProperty("jdbc.username");String password = properties.getProperty("jdbc.password");Class.forName(driver);conn = DriverManager.getConnection(url, username, password);//conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=zuoyetijiao","sa","think");} catch (Exception e) {}return conn;}
資源下載地址:https://download.csdn.net/download/sheziqiong/85811020
資源下載地址:https://download.csdn.net/download/sheziqiong/85811020
總結(jié)
以上是生活随笔為你收集整理的基于JavaWeb的网站图片爬虫系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 法律文件撰写:错别字检查工具的重要性及使
- 下一篇: 基于java的大学生个人理财系统