案例驅動式數據采集與預處理

陳蘇紅

  • 出版商: 清華大學
  • 出版日期: 2026-08-01
  • 定價: $479
  • 售價: $478
  • 語言: 簡體中文
  • ISBN: 7302719837
  • ISBN-13: 9787302719830
  • 相關分類: Web-crawler 網路爬蟲
  • 下單後立即進貨 (約4週~6週)

  • 案例驅動式數據采集與預處理-preview-1
  • 案例驅動式數據采集與預處理-preview-2
  • 案例驅動式數據采集與預處理-preview-3
  • 案例驅動式數據采集與預處理-preview-4
  • 案例驅動式數據采集與預處理-preview-5
  • 案例驅動式數據采集與預處理-preview-6
  • 案例驅動式數據采集與預處理-preview-7
案例驅動式數據采集與預處理-preview-1

商品描述

數字經濟飛速發展,“數據”是驅動行業創新、企業決策與社會進步的核心戰略資源,被譽為“未來的石油”。海量數據的價值挖掘需要高效的采集、預處理等技術,這是大數據人才的核心能力,行業創新與企業決策也依賴高質量的數據采集與預處理等技術,因此相關技術的系統學習與實踐尤為重要。通過《案例驅動式數據采集與預處理》即可開展數據采集、預處理、分析與可視化相關技術的系統學習。 本書共9章,內容包括概述、靜態網頁爬取、動態網頁爬取、提升網絡爬蟲效率、Scrapy框架初探、Scrapy框架深入、系統日誌數據采集、ETL工具Kettle、數據分析與可視化。本書構建了從數據基礎概念到高級應用的完整知識體系,系統講解Python數據采集與處理全流程技術,助力讀者快速掌握數據采集、預處理、存儲、分析及可視化的核心技術與實戰技巧。 本書沿著“案例+知識”這一主線,以問題為導向,采用任務驅動的模式推進。除第1章概述外,每章通過案例貫穿,將案例設計為多個疊代版本,每個版本解決一兩個問題,以提出問題、學習知識、解決問題為主脈絡。讀者在學習本書時,沿著清晰的案例路徑,即可將理論與實踐相結合,快速掌握相關技能。每章具有較完整的知識體系和真實的項目案例,章節中的“練一練”和“課後習題”可以幫助讀者及時鞏固所學知識,拓展知識的深度與廣度。 本書覆蓋了數據采集領域的常見數據源,如互聯網數據、日誌文件、企業業務系統數據等,適合作為大數據、人工智能、計算機、軟件工程等相關專業的教材,也可作為數據采集與處理領域從業人員的實戰參考用書。

目錄大綱

目 錄

第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

最後瀏覽商品 (1)