自己動(dòng)手寫(xiě)網(wǎng)絡(luò)爬蟲(chóng) 版權(quán)信息
- ISBN:9787302236474
- 條形碼:9787302236474 ; 978-7-302-23647-4
- 裝幀:暫無(wú)
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類:>>
自己動(dòng)手寫(xiě)網(wǎng)絡(luò)爬蟲(chóng) 本書(shū)特色
《自己動(dòng)手寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)》是國(guó)內(nèi)**本專門(mén)講解網(wǎng)絡(luò)爬蟲(chóng)開(kāi)發(fā)的書(shū)籍,介紹如何應(yīng)用云計(jì)算架構(gòu)開(kāi)發(fā)分布式爬蟲(chóng)。獵兔搜索工程師多年項(xiàng)目經(jīng)驗(yàn)總結(jié)深入介紹Web數(shù)據(jù)挖掘?qū)崿F(xiàn)過(guò)程光盤(pán)中提供了高效的代碼解決方案案例均使用流行的Java語(yǔ)言編寫(xiě)
自己動(dòng)手寫(xiě)網(wǎng)絡(luò)爬蟲(chóng) 目錄
第1篇 自己動(dòng)手抓取數(shù)據(jù)第1章 全面剖析網(wǎng)絡(luò)爬蟲(chóng) 31.1 抓取網(wǎng)頁(yè) 41.1.1 深入理解URL 41.1.2 通過(guò)指定的URL抓取網(wǎng)頁(yè)內(nèi)容 61.1.3 Java網(wǎng)頁(yè)抓取示例 81.1.4 處理HTTP狀態(tài)碼 101.2 寬度優(yōu)先爬蟲(chóng)和帶偏好的爬蟲(chóng) 111.2.1 圖的寬度優(yōu)先遍歷 121.2.2 寬度優(yōu)先遍歷互聯(lián)網(wǎng) 131.2.3 Java寬度優(yōu)先爬蟲(chóng)示例 151.2.4 帶偏好的爬蟲(chóng) 221.2.5 Java帶偏好的爬蟲(chóng)示例 231.3 設(shè)計(jì)爬蟲(chóng)隊(duì)列 241.3.1 爬蟲(chóng)隊(duì)列 241.3.2 使用Berkeley DB構(gòu)建爬蟲(chóng)隊(duì)列 291.3.3 使用Berkeley DB 構(gòu)建爬蟲(chóng)隊(duì)列示例 301.3.4 使用布隆過(guò)濾器構(gòu)建Visited表 361.3.5 詳解Heritrix爬蟲(chóng)隊(duì)列 391.4 設(shè)計(jì)爬蟲(chóng)架構(gòu) 461.4.1 爬蟲(chóng)架構(gòu) 461.4.2 設(shè)計(jì)并行爬蟲(chóng)架構(gòu) 471.4.3 詳解Heritrix爬蟲(chóng)架構(gòu) 521.5 使用多線程技術(shù)提升爬蟲(chóng)性能 551.5.1 詳解Java多線程 551.5.2 爬蟲(chóng)中的多線程 591.5.3 一個(gè)簡(jiǎn)單的多線程爬蟲(chóng)實(shí)現(xiàn) 601.5.4 詳解Heritrix多線程結(jié)構(gòu) 611.6 本章小結(jié) 64第2章 分布式爬蟲(chóng) 692.1 設(shè)計(jì)分布式爬蟲(chóng) 702.1.1 分布式與云計(jì)算 702.1.2 分布式與云計(jì)算技術(shù)在爬蟲(chóng)中的應(yīng)用——淺析Google的云計(jì)算架構(gòu) 712.2 分布式存儲(chǔ) 722.2.1 從Ralation_DB到key/value存儲(chǔ) 722.2.2 Consistent Hash算法 742.2.3 Consistent Hash代碼實(shí)現(xiàn) 792.3 Google的成功之道——GFS 802.3.1 GFS詳解 802.3.2 開(kāi)源GFS——HDFS 842.4 Google網(wǎng)頁(yè)存儲(chǔ)秘訣——BigTable 882.4.1 詳解BigTable 882.4.2 開(kāi)源BigTable——HBase 932.5 Google的成功之道——MapReduce算法 982.5.1 詳解MapReduce算法 1002.5.2 MapReduce容錯(cuò)處理 1012.5.3 MapReduce實(shí)現(xiàn)架構(gòu) 1022.5.4 Hadoop中的MapReduce簡(jiǎn)介 1042.5.5 wordCount例子的實(shí)現(xiàn) 1052.6 Nutch中的分布式 1092.6.1 Nutch爬蟲(chóng)詳解 1092.6.2 Nutch中的分布式 1162.7 本章小結(jié) 118第3章 爬蟲(chóng)的"方方面面" 1213.1 爬蟲(chóng)中的"黑洞" 1223.2 限定爬蟲(chóng)和主題爬蟲(chóng) 1223.2.1 理解主題爬蟲(chóng) 1223.2.2 Java主題爬蟲(chóng) 1283.2.3 理解限定爬蟲(chóng) 1303.2.4 Java限定爬蟲(chóng)示例 1363.3 有"道德"的爬蟲(chóng) 1523.4 本章小結(jié) 155第2篇 自己動(dòng)手抽取Web內(nèi)容第4章 "處理"HTML頁(yè)面 1594.1 征服正則表達(dá)式 1604.1.1 學(xué)習(xí)正則表達(dá)式 1604.1.2 Java正則表達(dá)式 1644.2 抽取HTML正文 1694.2.1 了解HtmlParser 1694.2.2 使用正則表達(dá)式抽取示例 1724.3 抽取正文 1794.4 從JavaScript中抽取信息 1944.4.1 JavaScript抽取方法 1954.4.2 JavaScript抽取示例 1974.5 本章小結(jié) 199第5章 非HTML正文抽取 2015.1 抽取PDF文件 2025.1.1 學(xué)習(xí)PDFBox 2025.1.2 使用PDFBox抽取示例 2065.1.3 提取PDF文件標(biāo)題 2075.1.4 處理PDF格式的公文 2085.2 抽取Office文檔 2125.2.1 學(xué)習(xí)POI 2125.2.2 使用POI抽取Word示例 2135.2.3 使用POI抽取PPT 示例 2155.2.4 使用POI抽取Excel示例 2155.3 抽取RTF 2185.3.1 開(kāi)源RTF文件解析器 2195.3.2 實(shí)現(xiàn)一個(gè)RTF文件解析器 2195.3.3 解析RTF示例 2235.4 本章小結(jié) 229第6章 多媒體抽取 2316.1 抽取視頻 2326.1.1 抽取視頻關(guān)鍵幀 2326.1.2 Java視頻處理框架 2336.1.3 Java視頻抽取示例 2376.2 音頻抽取 2496.2.1 抽取音頻 2496.2.2 學(xué)習(xí)Java音頻抽取技術(shù) 2536.3 本章小結(jié) 256第7章 去掉網(wǎng)頁(yè)中的"噪聲" 2577.1 "噪聲"對(duì)網(wǎng)頁(yè)的影響 2587.2 利用"統(tǒng)計(jì)學(xué)"消除"噪聲" 2597.2.1 網(wǎng)站風(fēng)格樹(shù) 2627.2.2 "統(tǒng)計(jì)學(xué)去噪"Java實(shí)現(xiàn) 2707.3 利用"視覺(jué)"消除"噪聲" 2747.3.1 "視覺(jué)"與"噪聲" 2747.3.2 "視覺(jué)去噪"Java實(shí)現(xiàn) 2757.4 本章小結(jié) 279第3篇 自己動(dòng)手挖掘Web數(shù)據(jù)第8章 分析Web圖 2838.1 存儲(chǔ)Web"圖" 2848.2 利用Web"圖"分析鏈接 2938.3 Google的秘密——PageRank 2938.3.1 深入理解PageRank算法 2938.3.2 PageRank算法的Java實(shí)現(xiàn) 2978.3.3 應(yīng)用PageRank進(jìn)行鏈接分析 3008.4 PageRank 的兄弟HITS 3018.4.1 深入理解HITS算法 3018.4.2 HITS算法的Java實(shí)現(xiàn) 3028.4.3 應(yīng)用HITS進(jìn)行鏈接分析 3138.5 PageRank與HITS的比較 3148.6 本章小結(jié) 315第9章 去掉重復(fù)的"文檔" 3179.1 何為"重復(fù)"的文檔 3189.2 去除"重復(fù)"文檔——排重 3189.3 利用"語(yǔ)義指紋"排重 3189.3.1 理解"語(yǔ)義指紋" 3209.3.2 "語(yǔ)義指紋"排重的Java實(shí)現(xiàn) 3219.4 SimHash排重 3219.4.1 理解SimHash 3229.4.2 SimHash排重的Java實(shí)現(xiàn) 3239.5 分布式文檔排重 3309.6 本章小結(jié) 331第10章 分類與聚類的應(yīng)用 33310.1 網(wǎng)頁(yè)分類 33410.1.1 收集語(yǔ)料庫(kù) 33410.1.2 選取網(wǎng)頁(yè)的"特征" 33510.1.3 使用支持向量機(jī)進(jìn)行網(wǎng)頁(yè)分類 33810.1.4 利用URL地址進(jìn)行網(wǎng)頁(yè)分類 34010.1.5 使用AdaBoost進(jìn)行網(wǎng)頁(yè)分類 34010.2 網(wǎng)頁(yè)聚類 34310.2.1 深入理解DBScan算法 34310.2.2 使用DBScan算法聚類實(shí)例 34410.3 本章小結(jié) 346
展開(kāi)全部
自己動(dòng)手寫(xiě)網(wǎng)絡(luò)爬蟲(chóng) 節(jié)選
《自己動(dòng)手寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)》介紹了網(wǎng)絡(luò)爬蟲(chóng)開(kāi)發(fā)中的關(guān)鍵問(wèn)題與Java實(shí)現(xiàn)。主要包括從互聯(lián)網(wǎng)獲取信息與提取信息和對(duì)Web信息挖掘等內(nèi)容!蹲约簞(dòng)手寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)》在介紹基本原理的同時(shí)注重輔以具體代碼實(shí)現(xiàn)來(lái)幫助讀者加深理解,書(shū)中部分代碼甚至可以直接使用!蹲约簞(dòng)手寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)》適用于有Java程序設(shè)計(jì)基礎(chǔ)的開(kāi)發(fā)人員。同時(shí)也可以作為計(jì)算機(jī)相關(guān)專業(yè)本科生或研究生的參考教材。
自己動(dòng)手寫(xiě)網(wǎng)絡(luò)爬蟲(chóng) 相關(guān)資料
插圖:代表主機(jī)ftp.yoyodyne.com的根目錄。爬蟲(chóng)最主要的處理對(duì)象就是URL,它根據(jù)URL地址取得所需要的文件內(nèi)容,然后對(duì)它進(jìn)行進(jìn)一步的處理。因此,準(zhǔn)確地理解URL對(duì)理解網(wǎng)絡(luò)爬蟲(chóng)至關(guān)重要。從下一節(jié)開(kāi)始,我們將詳細(xì)地講述如何根據(jù)URL地址來(lái)獲得網(wǎng)頁(yè)內(nèi)容。1.1.2 通過(guò)指定的URL抓取網(wǎng)頁(yè)內(nèi)容上一節(jié)詳細(xì)介紹了URL的構(gòu)成,這一節(jié)主要闡述如何根據(jù)給定的URL來(lái)抓取網(wǎng)頁(yè)。所謂網(wǎng)頁(yè)抓取,就是把URL地址中指定的網(wǎng)絡(luò)資源從網(wǎng)絡(luò)流中讀取出來(lái),保存到本地。類似于使用程序模擬IE瀏覽器的功能,把URL作為HTTP請(qǐng)求的內(nèi)容發(fā)送到服務(wù)器端,然后讀取服務(wù)器端的響應(yīng)資源。Java語(yǔ)言是為網(wǎng)絡(luò)而生的編程語(yǔ)言,它把網(wǎng)絡(luò)資源看成是一種文件,它對(duì)網(wǎng)絡(luò)資源的訪問(wèn)和對(duì)本地文件的訪問(wèn)一樣方便。它把請(qǐng)求和響應(yīng)封裝為流。因此我們可以根據(jù)相應(yīng)內(nèi)容,獲得響應(yīng)流,之后從流中按字節(jié)讀取數(shù)據(jù)。例如,java.net.URL類可以對(duì)相應(yīng)的Web服務(wù)器發(fā)出請(qǐng)求并且獲得響應(yīng)文檔。