《自己動手寫網路爬蟲》是2010年10月由清華大學出版社出版的圖書,作者是羅剛。本書在介紹基本原理的同時,注重輔以具體代碼實現來幫助讀者加深理解。
基本介紹
內容簡介,作品目錄,
內容簡介
主要包括從網際網路獲取信息與提取信息和對Web信息挖掘等內容。本書在介紹基本原理的同時注重輔以具體代碼實現來幫助讀者加深理解,書中部分代碼甚至可以直接使用。該書介紹了網路爬蟲開發中的關鍵問題與關於Java實現的問題。
本書適用於有Java程式設計基礎的開發人員。同時也可以作為計算機相關專業本科生或研究生的參考教材。
作品目錄
第1章 全面剖析網路爬蟲 3
1.1 抓取網頁 | 1.3.3 使用berkeley db構建爬蟲佇列示例 |
1.1.1 深入理解url | 1.3.4 使用布隆過濾器構建visited表 |
1.1.2 通過指定的url抓取網頁內容 | 1.3.5 詳解heritrix爬蟲佇列 |
1.1.3 java網頁抓取示例 | 1.4 設計爬蟲架構 . |
1.1.4 處理http狀態碼 | 1.4.1 爬蟲架構 |
1.2 寬度優先爬蟲和帶偏好的爬蟲 | 1.4.2 設計並行爬蟲架構 |
1.2.1 圖的寬度優先遍歷 | 1.4.3 詳解heritrix爬蟲架構 |
1.2.2 寬度優先遍歷網際網路 | 1.5 使用多執行緒技術提升爬蟲性能 |
1.2.3 java寬度優先爬蟲示例 | 1.5.1 詳解java多執行緒 |
1.2.4 帶偏好的爬蟲 | 1.5.2 爬蟲中的多執行緒 |
1.2.5 java帶偏好的爬蟲示例 | 1.5.3 一個簡單的多執行緒爬蟲實現 |
1.3 設計爬蟲佇列 | 1.5.4 詳解heritrix多執行緒結構 |
1.3.1 爬蟲佇列 | 1.6 本章小結 |
1.3.2 使用berkeley db構建爬蟲佇列 |
第2章 分散式爬蟲 69
2.1 設計分散式爬蟲 | 2.4.2 開源bigtable——hbase |
2.1.1 分散式與雲計算 | 2.5 google的成功之道——mapreduce算法 |
2.1.2 分散式與雲計算技術在爬蟲中的套用——淺析google的雲計算架構 | 2.5.1 詳解mapreduce算法 |
2.2 分散式存儲 | 2.5.2 mapreduce容錯處理 |
2.2.1 從ralation_db到key/value存儲 | 2.5.3 mapreduce實現架構 |
2.2.2 consistent hash算法 | 2.5.4 hadoop中的mapreduce簡介 |
2.2.3 consistent hash代碼實現 | 2.5.5 wordcount例子的實現 |
2.3 google的成功之道——gfs | 2.6 nutch中的分散式 |
2.3.1 gfs詳解 | 2.6.1 nutch爬蟲詳解 |
2.3.2 開源gfs——hdfs | 2.6.2 nutch中的分散式 |
2.4 google網頁存儲秘訣——bigtable | 2.7 本章小結 |
2.4.1 詳解bigtable |
第3章 爬蟲的“方方面面”121
3.1 爬蟲中的“黑洞” | 3.2.3 理解限定爬蟲 |
3.2 限定爬蟲和主題爬蟲 | 3.2.4 java限定爬蟲示例 |
3.2.1 理解主題爬蟲 | 3.3 有“道德”的爬蟲 |
3.2.2 java主題爬蟲 | 3.4 本章小結 |
第4章 “處理”html頁面 159
4.1 征服正則表達式 | 4.3 抽取正文 |
4.1.1 學習正則表達式 | 4.4 從javascript中抽取信息 |
4.1.2 java正則表達式 | 4.4.1 javascript抽取方法 |
4.2 抽取html正文 | 4.4.2 javascript抽取示例 |
4.2.1 了解htmlparser | 4.5本章小結 |
4.2.2 使用正則表達式抽取示例 |
第5章 非html正文抽取 201
5.1 抽取pdf檔案 | 5.2.2 使用poi抽取word示例 |
5.1.1 學習pdfbox | 5.2.3 使用poi抽取ppt示例 |
5.1.2 使用pdfbox抽取示例 | 5.2.4 使用poi抽取excel示例 |
5.1.3 提取pdf檔案標題 | 5.3 抽取rtf 5.3.1 開源rtf檔案解析器 |
5.1.4 處理pdf格式的公文 | 5.3.2 實現一個rtf檔案解析器 |
5.2 抽取office文檔 | 5.3.3 解析rtf示例 |
5.2.1 學習poi | 5.4 本章小結 |
第6章 多媒體抽取 231
6.1 抽取視頻 | 6.2 音頻抽取 |
6.1.1 抽取視頻關鍵幀 | 6.2.1 抽取音頻 |
6.1.2 java視頻處理框架 | 6.2.2 學習java音頻抽取技術 |
6.1.3 java視頻抽取示例 | 6.3 本章小結 |
第7章去掉網頁中的“噪聲” 257
7.1 “噪聲”對網頁的影響 | 7.3 利用“視覺”消除“噪聲” |
7.2 利用“統計學”消除“噪聲” | 7.3.1 “視覺”與“噪聲” |
7.2.1 網站風格樹 | 7.3.2 “視覺去噪”java實現 |
7.2.2“統計學去噪”java實現 | 7.4 本章小結 |
第8章 分析web圖 283
8.1 存儲web“圖” | 8.4 pagerank的兄弟hits |
8.2 利用web“圖”分析連結 | 8.4.1 深入理解hits算法 |
8.3 google的秘密——pagerank | 8.4.2 hits算法的java實現 |
8.3.1 深入理解pagerank算法 | 8.4.3 套用hits進行連結分析 |
8.3.2 pagerank算法的java實現 | 8.5 pagerank與hits的比較 |
8.3.3 套用pagerank進行連結分析 | 8.6 本章小結 |
第9章 去掉重複的“文檔” 317
9.1 何為“重複”的文檔 | 9.4 simhash排重 |
9.2 去除“重複”文檔——排重 | 9.4.1 理解simhash |
9.3 利用“語義指紋”排重 | 9.4.2 simhash排重的java實現 |
9.3.1 理解“語義指紋” | 9.5 分散式文檔排重 |
9.3.2 “語義指紋”排重的java實現 | 9.6 本章小結 |
第10章 分類與聚類的套用 333
10.1 網頁分類 10.1.1 收集語料庫 | 10.2 網頁聚類 |
10.1.2 選取網頁的“特徵” | 10.2.1 深入理解dbscan算法 |
10.1.3 使用支持向量機進行網頁分類 | 10.2.2 使用dbscan算法聚類實例 |
10.1.4 利用url地址進行網頁分類 | 10.3 本章小結 |
10.1.5 使用adaboost進行網頁分類 |