案例驅動式數據采集與預處理
陳蘇紅
- 出版商: 清華大學
- 出版日期: 2026-08-01
- 定價: $479
- 售價: $478
- 語言: 簡體中文
- ISBN: 7302719837
- ISBN-13: 9787302719830
-
相關分類:
Web-crawler 網路爬蟲
下單後立即進貨 (約4週~6週)
商品描述
目錄大綱
目 錄
第1章 概述 1
1.1 數據 1
1.1.1 數據的概念 1
1.1.2 數據類型 2
1.1.3 數據組織形式 2
1.1.4 數據的價值 3
1.2 大數據 4
1.2.1 大數據采集 5
1.2.2 大數據來源 5
1.2.3 大數據采集方法 7
1.3 數據存儲 8
1.4 數據預處理 9
1.5 數據分析 11
1.6 數據可視化 12
1.7 基礎軟件安裝與運行 13
1.7.1 Python 3.9.9的安裝與使用 14
1.7.2 PyCharm的安裝與使用 16
第2章 網絡數據采集——靜態網頁爬取 23
2.1 網絡爬蟲的概念 24
2.2 網絡爬蟲的工作流程 24
2.3 通過requests庫獲取網頁數據 27
2.3.1 requests庫簡介 27
2.3.2 requests庫的常用方法 28
2.4 通過urllib庫獲取網頁數據 32
2.4.1 urllib庫簡介 33
2.4.2 urllib庫的基本使用 33
2.5 通過BeautifulSoup解析網頁 39
2.5.1 beautifulsoup4庫簡介 39
2.5.2 beautifulsoup4庫的使用 40
2.6 通過XPath解析網頁 51
2.6.1 XPath基本語法 52
2.6.2 XPath謂語表達式 54
2.6.3 XPath常用的功能函數 55
2.6.4 XPath的使用 55
2.7 數據存儲 59
2.7.1 保存於CSV文件 59
2.7.2 保存於JSON文件 63
第3章 網絡數據采集——動態網頁爬取 69
3.1 動態網頁概述 70
3.1.1 動態網頁的定義 70
3.1.2 動態網頁的常用技術 71
3.1.3 動態網頁的判定方法 72
3.1.4 動態網頁爬取的主要方法 73
3.2 逆向分析法爬取動態網頁 75
3.2.1 網頁行為分析 76
3.2.2 定位動態網頁核心數據接口 76
3.2.3 參數逆向分析 78
3.2.4 請求數據與解析 78
3.3 通過Selenium爬取動態網頁 81
3.3.1 Selenium運行環境的安裝與配置 81
3.3.2 Selenium庫的使用 84
3.4 逆向分析法和Selenium模擬法的比較 95
3.5 存儲數據至數據庫 96
3.5.1 MySQL數據庫 97
3.5.2 MongoDB數據庫 108
第4章 網絡數據采集——提升網絡爬蟲效率 124
4.1 網絡爬蟲速度提升方案 125
4.2 進程與線程 126
4.2.1 進程的概念 126
4.2.2 線程的概念 127
4.2.3 進程與線程的聯系與區別 127
4.3 單進程爬蟲 128
4.4 多進程爬蟲 131
4.4.1 使用Process類創建進程 132
4.4.2 自定義Process子類創建進程 133
4.4.3 使用Pool類創建多進程 134
4.4.4 進程間通信 136
4.5 多線程爬蟲 144
4.5.1 多線程爬蟲流程分析 144
4.5.2 多線程爬蟲實現技術 145
4.5.3 多線程爬蟲的實現 148
第5章 網絡數據采集——Scrapy框架初探 154
5.1 Scrapy框架概述 155
5.1.1 Scrapy框架結構 157
5.1.2 Scrapy工作流程 158
5.2 Scrapy快速入門 159
5.2.1 安裝Scrapy 159
5.2.2 第一個Scrapy項目 160
5.2.3 Scrapy項目目錄結構 167
5.2.4 Scrapy常用命令行工具 168
5.3 Scrapy請求發送與解析響應結果 173
5.3.1 Scrapy請求發送原理 173
5.3.2 解析響應結果 175
5.4 Scrapy爬蟲數據的保存 181
5.4.1 默認保存方式 181
5.4.2 自定義保存方式 182
第6章 網絡數據采集——Scrapy框架深入 192
6.1 通用網絡爬蟲 193
6.1.1 CrawlSpider類 194
6.1.2 鏈接提取器和提取規則 195
6.1.3 CrawlSpider工作原理 198
6.1.4 創建CrawlSpider爬蟲實現全站數據爬取 201
6.2 Scrapy動態網頁爬取 209
6.2.1 逆向分析法 210
6.2.2 模擬法 213
6.3 應對反爬的主要策略 221
6.3.1 常規反爬設置 221
6.3.2 隨機用戶代理 223
6.3.3 隨機IP代理 227
第7章 系統日誌數據采集 234
7.1 Flume簡介 235
7.1.1 Flume核心組件 235
7.1.2 Flume數據流 237
7.1.3 Flume應用場景 237
7.2 Flume的安裝與使用 238
7.2.1 Flume的安裝 238
7.2.2 Flume的啟動和運行 243
7.3 采集日誌文件到HDFS 247
7.3.1 配置HDFS環境 247
7.3.2 采集目錄到HDFS 254
7.3.3 采集文件到HDFS 256
7.4 采集數據庫數據到HDFS 258
7.4.1 準備工作 258
7.4.2 配置和啟動Flume 260
第8章 ETL工具Kettle 265
8.1 Kettle簡介 266
8.2 Kettle的安裝 267
8.3 Kettle的基本功能 268
8.3.1 轉換管理 268
8.3.2 作業管理 269
8.4 Kettle的基本概念 270
8.5 運用Kettle工具進行數據抽取、清洗並加載到MySQL數據庫 273
8.5.1 抽取Excel數據、去重並加載到MySQL數據庫 275
8.5.2 抽取文本文件、填充空值並加載到MySQL數據庫 282
8.5.3 抽取CSV文件、清洗後加載到MySQL數據庫 290
8.6 使用Kettle轉換MySQL數據庫中的數據 298
第9章 數據分析與可視化 307
9.1 Jupyter Notebook 308
9.1.1 Anaconda的下載 308
9.1.2 Anaconda的安裝 309
9.1.3 Jupyter Notebook的常用功能 312
9.2 pandas庫 314
9.2.1 Series類型 314
9.2.2 DataFrame類型 315
9.3 運用pandas庫完成文件的讀寫和數據的切片操作 315
9.3.1 Excel文件的讀寫 315
9.3.2 數據的查看 317
9.3.3 部分行列的切片 318
9.3.4 統計分析 321
9.4 運用pandas庫完成數據清洗 322
9.4.1 重復值處理 322
9.4.2 缺失值處理 324
9.4.3 異常值處理 327
9.5 運用pandas庫完成數據分析 329
9.5.1 排序 329
9.5.2 分組與聚合 330
9.6 運用matplotlib庫完成數據可視化 332
9.6.1 導入pyplot模塊 333
9.6.2 繪圖區域切分 333
9.6.3 pyplot.plot()繪圖函數 334
9.6.4 折線圖 339
9.6.5 餅圖 340
9.6.6 柱狀圖 342
9.6.7 散點圖 343







