自己動手寫網路爬蟲(修訂版)

自己動手寫網路爬蟲(修訂版)

《自己動手寫網路爬蟲(修訂版)》是2016年9月清華大學出版社出版的圖書,作者是羅剛。

基本介紹

  • 中文名:自己動手寫網路爬蟲(修訂版)
  • 作者:羅剛
  • ISBN:9787302442646
  • 定價:49元
  • 出版社:清華大學出版社
  • 出版時間:2016年9月
內容簡介,圖書目錄,

內容簡介

本書介紹了網路爬蟲開發中的關鍵問題與Java實現。主要包括從網際網路獲取信息與提取信息和對Web信息挖掘等內容。本書在介紹基本原理的同時注重輔以具體代碼實現來幫助讀者加深理解,書中部分代碼甚至可以直接使用。
本書適用於有Java程式設計基礎的開發人員。同時也可以作為計算機相關專業本科生或研究生的參考教程。

圖書目錄

第1篇 自己動手抓取數據
第1章 全面剖析網路爬蟲 3
1.1 抓取網頁 4
1.1.1 深入理解URL 4
1.1.2 通過指定的URL抓取
網頁內容 6
1.1.3 Java網頁抓取示例 8
1.1.4 處理HTTP狀態碼 10
1.2 寬度優先爬蟲和帶偏好的爬蟲 12
1.2.1 圖的寬度優先遍歷 12
1.2.2 寬度優先遍歷網際網路 13
1.2.3 Java寬度優先爬蟲示例 15
1.2.4 帶偏好的爬蟲 22
1.2.5 Java帶偏好的爬蟲示例 23
1.3 設計爬蟲佇列 24
1.3.1 爬蟲佇列 24
1.3.2 使用Berkeley DB構建爬蟲
佇列 29
1.3.3 使用Berkeley DB 構建爬蟲
佇列示例 30
1.3.4 使用布隆過濾器構建
Visited表 36
1.3.5 詳解Heritrix爬蟲佇列 39
1.4 設計爬蟲架構 46
1.4.1 爬蟲架構 46
1.4.2 設計並行爬蟲架構 47
1.4.3 詳解Heritrix爬蟲架構 52
1.5 使用多執行緒技術提升爬蟲性能 55
1.5.1 詳解Java多執行緒 55
1.5.2 爬蟲中的多執行緒 59
1.5.3 一個簡單的多執行緒爬蟲實現 60
1.5.4 詳解Heritrix多執行緒結構 61
本章小結 64
第2章 分散式爬蟲 69
2.1 設計分散式爬蟲 70
2.1.1 分散式與雲計算 70
2.1.2 分散式與雲計算技術
爬蟲中的套用--淺析
Google的雲計算架構 72
2.2 分散式存儲 72
2.2.1 從Ralation_DB到key/value
存儲 72
2.2.2 Consistent Hash算法 74
2.2.3 Consistent Hash代碼實現 79
2.3 Google的成功之道--GFS 80
2.3.1 GFS詳解 80
2.3.2 開源GFS--HDFS 84
2.4 Google網頁存儲秘訣--BigTable 88
2.4.1 詳解BigTable 88
2.4.2 開源BigTable-HBase 93
2.5 Google的成功之道--
MapReduce算法 98
2.5.1 詳解MapReduce算法 100
2.5.2 MapReduce容錯處理 101
2.5.3 MapReduce實現架構 102
2.5.4 Hadoop中的MapReduce
簡介 104
2.5.5 wordCount例子的實現 105
2.6 Nutch中的分散式 109
2.6.1 Nutch爬蟲詳解 109
2.6.2 Nutch中的分散式 116
本章小結 118
第3章 爬蟲的""方方面面"" 121
3.1 爬蟲中的""黑洞"" 122
3.2 主題爬蟲和限定爬蟲 122
3.2.1 理解主題爬蟲 122
3.2.2 Java主題爬蟲 128
3.2.3 理解限定爬蟲 130
3.2.4 Java限定爬蟲示例 136
3.3 有""道德""的爬蟲 152
本章小結 156
第2篇 自己動手抽取Web內容
第4章 ""處理""HTML頁面 159
4.1 征服正則表達式 160
4.1.1 學習正則表達式 160
4.1.2 Java正則表達式 163
4.2 抽取HTML正文 169
4.2.1 了解Jsoup 169
4.2.2 使用正則表達式抽取示例 173
4.3 抽取正文 177
4.4 從JavaScript中抽取信息 193
4.4.1 JavaScript抽取方法 193
4.4.2 JavaScript抽取示例 195
本章小結 197
第5章 非HTML正文抽取 199
5.1 抽取PDF檔案 200
5.1.1 學習PDFBox 200
5.1.2 使用PDFBox抽取示例 204
5.1.3 提取PDF檔案標題 205
5.1.4 處理PDF格式的公文 206
5.2 抽取Office文檔 211
5.2.1 學習POI 211
5.2.2 使用POI抽取Word示例 211
5.2.3 使用POI抽取PPT 示例 213
5.2.4 使用POI抽取Excel示例 214
5.3 抽取RTF 217
5.3.1 開源RTF檔案解析器 217
5.3.2 實現一個RTF檔案解析器 217
5.3.3 解析RTF示例 222
本章小結 227
第6章 多媒體抽取 229
6.1 視頻抽取 230
6.1.1 抽取視頻關鍵幀 230
6.1.2 Java視頻處理框架 231
6.1.3 Java視頻抽取示例 235
6.2 音頻抽取 247
6.2.1 抽取音頻 248
6.2.2 Java音頻抽取技術 252
本章小結 254
第7章 去掉網頁中的""噪聲"" 255
7.1 ""噪聲""對網頁的影響 256
7.2 利用""統計學""消除""噪聲"" 257
7.2.1 網站風格樹 260
7.2.2 ""統計學去噪""的
Java實現 268
7.3 利用""視覺""消除""噪聲"" 272
7.3.1 ""視覺""與""噪聲"" 272
7.3.2 ""視覺去噪""的Java實現 273
本章小結 277
第3篇 自己動手挖掘Web數據
第8章 分析Web圖 281
8.1 存儲Web""圖"" 282
8.2 利用Web""圖""分析連結 291
8.3 Google的秘密--PageRank 291
8.3.1 深入理解PageRank算法 291
8.3.2 PageRank算法的Java實現 295
8.3.3 套用PageRank進行連結
分析 298
8.4 PageRank 的兄弟HITS 299
8.4.1 深入理解HITS算法 299
8.4.2 HITS算法的Java實現 300
8.4.3 套用HITS進行連結分析 311
8.5 PageRank與HITS比較 312
本章小結 313
第9章 去掉""重複""的文檔 315
9.1 何為""重複""的文檔 316
9.2 利用""語義指紋""排重 316
9.2.1 理解""語義指紋"" 318
9.2.2 ""語義指紋""排重的
Java實現 319
9.3 SimHash排重 319
9.3.1 理解SimHash 320
9.3.2 SimHash排重的Java實現 321
9.4 分散式文檔排重 328
本章小結 329
第10章 分類與聚類的套用 331
10.1 網頁分類 332
10.1.1 收集語料庫 332
10.1.2 選取網頁的""特徵"" 333
10.1.3 使用支持向量機進行
網頁分類 336
10.1.4 利用URL地址進行
網頁分類 338
10.1.5 使用AdaBoost進行
網頁分類 338
10.2 網頁聚類 341
10.2.1 深入理解DBScan算法 341
10.2.2 使用DBScan算法聚類
實例 342
本章小結 344

相關詞條

熱門詞條

聯絡我們