網絡爬蟲原理與實踐:基於 C# 語言

李健//種惠芳

  • 出版商: 機械工業
  • 出版日期: 2022-11-01
  • 售價: $474
  • 貴賓價: 9.5$450
  • 語言: 簡體中文
  • 頁數: 398
  • 裝訂: 平裝
  • ISBN: 7111716949
  • ISBN-13: 9787111716945
  • 相關分類: C#Web-crawler 網路爬蟲
  • 立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

本書基於C#語言介紹網絡爬蟲開發的基本原理、技巧和應用實例,
適合網絡爬蟲開發的愛好者和研究者閱讀。
讀者*好具備一定的編程基礎,或者正在學習C#編程,
以便更好地理解本書的內容。

本書具有以下特點:
1)內容簡明、由淺入深。
本書不追求內容上的面面俱到,而是圍繞網絡爬蟲的核心環節,
介紹其基本原理和實現方法,並進行適當的功能擴展。
與其他同類書籍相比,本書篇幅適中,適合初學者閱讀。
2)實例豐富,代碼翔實。書中盡量選擇邏輯簡明、
功能完整的典型實例,從需求、設計、實現的角度分別進行介紹。
而且,幾乎所有實例都給出了主要實現代碼,
並對關鍵代碼進行了詳細註釋,方便讀者進行實踐

目錄大綱

目錄
前言
第1章網絡爬蟲概述1
1.1 網絡基礎1
1.1.1 網絡的基本概念1
1.1.2 HTTP6
1.1.3 會話機制11
1.2 網頁知識14
1.2.1 HTML14
1.2.2 CSS17
1.2.3 JavaScript20
1.3 網絡爬蟲的原理22
1.3.1 網絡爬蟲概述22
1.3.2 Robots協議25
1.3.3 網絡爬蟲框架29
第2章C#編程基礎31
2.1 C#語言概述31
2.1.1 C#與.NET框架31
2.1.2 開發環境33
2.1.3 語言生態37
2.2 數據和運算40
2.2.1 C#數據類型40
2.2.2 常用運算符45
2.3 流程控制50
2.3.1 分支結構51
2.3.2 循環結構54
2.4 常用數據結構56
2.4.1 字符串56
2.4.2 數組60
2.4.3 列表62
2.4.4 字典65
第3章網絡資源下載70
3.1 同步下載70
3.1.1 網頁下載70
3.1.2 編碼檢測72
3.1.3 參數設置76
3.2 異步下載83
3.2.1 實現方式83
3.2.2 性能分析85
3.3 通用資源下載器86
3.3.1 下載器的設計86
3.3.2 下載器的實現88
第4章網頁數據抽取95
4.1 正則表達式抽取95
4.1.1 正則表達式簡介95
4.1.2 使用Regex類97
4.2 XPath抽取100
4.2.1 XPath簡介100
4.2.2 使用HtmlAgilityPack103
4.3 HTML解析器107
4.4 綜合實例:新聞資訊爬蟲110
4.4.1 爬蟲設計110
4.4.2 爬蟲實現111
第5章其他數據抽取119
5.1 XML數據抽取119
5.1.1 XML簡介119
5.1.2 使用System.Xml120
5.2 JSON數據抽取123
5.2.1 JSON簡介123
5.2.2 使用Newtonsoft.Json125
5.3 綜合實例1:天氣爬蟲128
5.3.1 問題描述與分析128
5.3.2 爬蟲設計131
5.3.3 爬蟲實現131
5.4 綜合實例2:音樂爬蟲136
5.4.1 問題描述136
5.4.2 逆向分析138
5.4.3 爬蟲設計141
5.4.4 爬蟲實現143
第6章數據存儲150
6.1 數據的維度150
6.2 文件存儲151
6.2.1 低維數據存儲151
6.2.2 高維數據存儲154
6.3 數據庫存儲158
6.3.1 MySQL的安裝和配置158
6.3.2 將數據存入MySQL162
第7章爬蟲控制167
7.1 爬蟲搜索方式167
7.1.1 深度優先搜索167
7.1.2 廣度優先搜索171
7.1.3 性能分析172
7.2 爬蟲控制器175
7.2.1 控制器設計175
7.2.2 控制器的實現176
7.2.3 實時控制器179
7.3 綜合實例:站內文章爬蟲183
7.3.1 爬蟲設計183
7.3.2 爬蟲實現185
7.3.3 爬蟲測試186
第8章多線程爬蟲189
8.1 多線程機制189
8.1.1 Thread對象189
8.1.2 BackgroundWorker控件192
8.1.3 系統線程池194
8.2 多線程爬蟲197
8.2.1 實現方法197
8.2.2 性能對比199
8.3 自定義線程池202
8.3.1 線程池設計202
8.3.2 線程池實現203
8.3.3 性能測試206
8.4 多線程爬蟲控制器207
8.4.1 多線程控制器實現207
8.4.2 訪問序列分析210
第9章使用代理213
9.1 代理機制213
9.1.1 使用WebProxy對象213
9.1.2 使用全局代理215
9.2 自定義代理池217
9.2.1 代理池設計217
9.2.2 代理池實現218
第10章模擬瀏覽器225
10.1 瀏覽器的工作原理225
10.1.1 網頁解析過程225
10.1.2 常見的瀏覽器內核226
10.2 使用瀏覽器內核226
10.2.1 Trident內核226
10.2.2 Gecko內核231
10.3 綜合實例:網頁翻譯爬蟲240
10.3.1 問題描述240
10.3.2 爬蟲設計241
10.3.3 爬蟲實現242
10.3.4 算法改進247
第11章可視化模板配置250
11.1 可視化模板配置方法250
11.1.1 抽取原理250
11.1.2 模板表示253
11.1.3 可視化配置254
11.2 綜合實例:可視化網頁文章
爬蟲259
11.2.1 爬蟲設計259
11.2.2 爬蟲實現260
參考文獻264