Python爬蟲與數據分析

李巍

  • 出版商: 人民郵電
  • 出版日期: 2025-10-01
  • 售價: $600
  • 語言: 簡體中文
  • 頁數: 278
  • ISBN: 7115680159
  • ISBN-13: 9787115680150
  • 相關分類: Python
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

這是一本讓你學完立馬就能上手的實用指南。本書從零開始帶你玩轉Python網絡爬蟲與數據分析,全書分為基礎篇、進階篇和實戰篇三部分。基礎篇手把手教你搭建Python 環境掌握核心語法、數據處理和文件操作,為數據分析打下堅實基礎。進階篇介紹實用技能,涵蓋網絡爬蟲開發、數據解析、高效存儲,以及數據分析利器NumPy和pandas, 有炫酷的數據可視化方法。實戰篇通過兩大真實項目,完整演示從數據采集、清洗存儲到分析可視化的全流程。本書內容清晰實用,特別適合想快速掌握Python爬蟲技術與數據分析的讀者,讓你學完就能用!

作者簡介

李巍,中國計算機學會會員,嗶哩嗶哩科技UP主(IT私塾),B站課堂簽約教師,華為開發者學堂認證講師。

目錄大綱

基礎篇

第 1章 Python數據分析準備工作 ............1

1.1 搭建Python數據分析環境 .................1

1.1.1 下載Python ............................1

1.1.2 正確安裝Python .....................3

1.1.3 配置環境變量 ..........................5

1.1.4 配置開發環境PyCharm ...........7

1.1.5 測試Python和開發環境是否能正常工作 .......................9

1.2 編寫第 一個Python程序 ..................12

第 2章 Python基本語法 ..........................15

2.1 註釋 ..................................................15

2.1.1 單行註釋 ...............................15

2.1.2 多行註釋 ...............................16

2.2 標識符和關鍵字 ................................16

2.2.1 每個數據或者信息都有名字——標識符 .....................17

2.2.2 關鍵字 ...................................17

2.3 變量及變量的數據類型 .....................18

2.3.1 變量到底是什麼 .....................18

2.3.2 變量的數據類型 .....................19

2.4 輸入和輸出 .......................................22

2.4.1 處理來自鍵盤的輸入 .............22

2.4.2 輸出的幾種情況 .....................23

2.5 運算符 ..............................................24

2.5.1 算術運算符 ............................24

2.5.2 比較運算符 ............................25

2.5.3 賦值運算符 ............................25

2.5.4 位運算符 ...............................26

2.5.5 邏輯運算符 ............................26

2.5.6 成員運算符 ............................28

2.5.7 身份運算符 ............................28

2.5.8 運算符優先級 ........................28

2.6 實戰演練 ...........................................31

第3章 流程控制語句 .................................32

3.1 條件判斷語句....................................32

3.1.1 單分支結構 ............................32

3.1.2 雙分支結構 ............................33

3.1.3 多分支結構 ............................34

3.1.4 嵌套條件語句 ........................35

3.1.5 條件判斷語句實例 .................36

3.2 循環控制語句....................................38

3.2.1 for循環 .................................38

3.2.2 while循環 .............................39

3.2.3 break和continue語句 .........41

3.2.4 循環控制語句實例 .................42

3.3 實戰演練 ...........................................44

第4章 常用的容器數據類型 .....................47

4.1 字符串——文字也可以進行運算 .......47

4.1.1 定界符 ...................................47

4.1.2 轉義字符 ...............................48

4.1.3 字符串的截取和連接 .............50

4.1.4 字符串的常見操作 .................52

4.1.5 字符串的格式化操作 .............53

4.1.6 字符串實例 ............................55

4.2 列表 ..................................................56

4.2.1 列表的創建與訪問 .................57

4.2.2 列表的常見操作 .....................58

4.2.3 列表的嵌套 ............................62

4.2.4 列表實例 ...............................63

4.3 元組 ..................................................64

4.3.1 元組的創建與訪問 .................64

4.3.2 元組的常見操作 .....................65

4.4 字典 ..................................................66

4.4.1 字典的創建與訪問 .................66

4.4.2 字典的常見操作 .....................68

4.4.3 字典實例 ...............................72

4.5 集合 ..................................................72

4.5.1 創建集合 ...............................73

4.5.2 集合的常見操作 .....................73

4.6 實戰演練 ...........................................74

第5章 函數 .................................................77

5.1 定義和調用函數 ................................77

5.1.1 定義函數 ...............................77

5.1.2 調用函數 ...............................78

5.1.3 函數參數 ...............................79

5.1.4 函數返回值 ............................81

5.1.5 實例 ......................................81

5.2 局部變量和全局變量 .........................82

5.2.1 局部變量 ...............................82

5.2.2 全局變量 ...............................83

5.2.3 全局變量和局部變量重名怎麼辦 ...................................84

5.2.4 匿名函數 ...............................85

5.2.5 實例 ......................................85

5.3 實戰演練 ...........................................86

第6章 文件操作和異常處理 .....................89

6.1 文件操作 ...........................................89

6.1.1 文件的打開與關閉 .................89

6.1.2 文件讀寫操作 ........................91

6.1.3 訪問模式 ...............................94

6.1.4 上下文管理器 ........................96

6.1.5 文件操作實例 ........................96

6.2 錯誤與異常 .......................................97

6.2.1 幾種常見錯誤與異常 .............97

6.2.2 找出並處理異常 ..................100

6.3 實戰演練 .........................................104

第7章 模塊和庫 .......................................105

7.1 模塊和庫的介紹 ..............................105

7.2 庫的安裝和導入 ..............................105

7.2.1 安裝庫 .................................106

7.2.2 導入庫 .................................106

7.3 常用標準庫 .....................................107

7.3.1 隨機模塊 —— random ........108

7.3.2 日期時間模塊——datetime ...109

7.3.3 操作系統模塊——os ...........110

7.3.4 json模塊 .............................112

進階篇

第8章 網絡與前端技術基礎 ...................115

8.1 網絡基本概念..................................115

8.2 網頁的構成 .....................................116

8.2.1 網頁結構與內容 ...................117

8.2.2 HTML網頁常用標簽 ............118

8.2.3 網頁樣式 .............................120

8.2.4 網頁交互 .............................128

8.3 實戰演練 .........................................132

第9章 網絡數據爬取技術 .......................134

9.1 網絡爬蟲概述..................................134

9.1.1 網絡爬蟲的基本概念 ...........134

9.1.2 合法合規使用網絡爬蟲技術 ....................................135

9.1.3 數據爬取流程 ......................135

9.2 Requests庫 ...................................135

9.2.1 發送HTTP請求 ...................136

9.2.2 獲取HTTP響應的內容 ........137

9.2.3 爬取圖片文件 ......................139

9.3 Selenium庫 ..................................139

9.3.1 安裝瀏覽器驅動 ...................139

9.3.2 查找單個元素 ......................142

9.3.3 獲取元素屬性信息 ...............143

9.3.4 等待 ....................................144

9.3.5 網頁的前進和後退 ...............145

9.4 實戰演練 .........................................145

第 10章 網站數據解析 .............................147

10.1 lxml庫 .........................................147

10.2 Beautiful Soup庫 ........................150

10.2.1 BeautifulSoup對象的屬性 ................................151

10.2.2 beautifulsoup4庫標簽對象的屬性 ......................152

10.2.3 find()方法和find_all()方法 ................................153

10.2.4 select()方法 ....................154

10.3 re庫 ............................................154

10.3.1 re庫常用方法 ..................156

10.3.2 re庫基本操作示例 ...........156

10.4 實戰演練 .......................................158

第 11章 存儲數據 .....................................165

11.1 把數據保存到Excel ......................165

11.1.1 基礎的xlwt庫 .................165

11.1.2 強大的xlwings庫 ............166

11.1.3 跨平臺的openpyxl庫 ......170

11.2 把數據保存到MySQL ...................173

11.3 實戰演練 .......................................179

第 12章 科學計算庫NumPy .................181

12.1 NumPy庫的基本使用方法 ...........181

12.1.1 創建數組的基本流程 ........181

12.1.2 NumPy數組的運算..........182

12.1.3 NumPy數組的屬性..........183

12.2 創建數組 .......................................184

12.2.1 根據現有數據創建數組 ....184

12.2.2 根據形狀或數值創建數組 ................................185

12.3 獲取數組元素 ................................186

12.3.1 通過索引獲取元素 ...........186

12.3.2 通過切片獲取元素 ...........187

12.4 數組的操作 ...................................188

12.4.1 修改數組形狀 ...................188

12.4.2 數組扁平化 ......................189

12.4.3 數組轉置 ..........................190

12.4.4 數組去重 ..........................191

12.4.5 數組合並 ..........................191

12.4.6 數組分割 ..........................192

12.4.7 數組覆制 ..........................193

12.4.8 數組元素的修改 ...............193

12.5 數組的運算 ...................................196

12.5.1 廣播機制 ..........................196

12.5.2 基本運算 ..........................197

12.6 常用API .......................................199

12.6.1 數組統計 ...........................199

12.6.2 文件讀寫 ...........................202

12.7 實戰演練 .......................................202

第 13章 數據處理庫pandas .................208

13.1 pandas入門 .................................208

13.1.1 pandas數據結構及相關方法 ................................208

13.1.2 pandas訪問數據 .............213

13.2 數據處理常用操作 ........................217

13.2.1 缺失值處理 ......................217

13.2.2 運算 .................................218

13.2.3 合並與分組 ......................222

13.2.4 堆疊和透視 ......................224

13.2.5 時間序列和分類數據 ........226

13.3 數據的讀入與寫出 ........................228

13.4 實戰演練 .......................................230

第 14章 靜態圖表可視化 .........................235

14.1 Matplotlib實現靜態圖表 ..............235

14.2 基礎繪圖功能 ...............................237

14.2.1 Matplotlib圖像結構 ........237

14.2.2 添加輔助元素 ...................238

14.2.3 繪制多條折線 ...................241

14.2.4 繪制子圖 ..........................242

14.3 常見圖形繪制 ...............................246

14.3.1 折線圖 .............................246

14.3.2 散點圖 .............................247

14.3.3 柱形圖 .............................248

14.3.4 三維圖形 ..........................250

14.4 實戰演練 .......................................252

第 15章 動態圖表可視化 .........................254

15.1 Pyecharts.....................................254

15.1.1 Pyecharts的安裝和基本使用 ................................254

15.1.2 Pyecharts繪制其他基本圖形 ................................257

15.1.3 組合圖表 ..........................260

15.1.4 設置主題 ..........................261

15.1.5 輪播圖 .............................265

15.2 實戰演練 .......................................266

第 16章 Flask框架實現數據可視化系統 .............................................269

16.1 完成第 一個網站 ............................269

16.2 路由與網頁 ...................................270

16.3 頁面動態加載後臺數據 .................273

16.3.1 Flask在頁面上顯示表格 ................................273

16.3.2 數據來自Excel文件 .........274

16.3.3 數據來自數據庫 ...............276

16.4 Flask接收參數,分頁顯示數據 ....276

實戰篇

第 17章 豆瓣電影Top250信息爬取實戰..............................289

17.1 項目概述.................................289

17.2 準備工作.................................290

17.2.1 分析頁面....................292

17.2.2 新建項目....................293

17.2.3 引入模塊....................295

17.3 數據爬取.................................296

17.4 數據解析.................................296

17.5 數據存儲.................................297

17.5.1 保存到Excel文件......298

17.5.2 保存到SQLite數據庫.......................299

17.6 數據分析與展現......................301

17.7 實戰小結.................................302

第 18章 招聘網站信息爬取實戰.......303

18.1 項目概述.................................303

18.2 準備工作.................................30418.2.1 分析頁面....................306

18.2.2 新建項目....................307

18.2.3 引入模塊....................308

18.2.4 定義全局變量.............308

18.3 獲取數據.................................309

18.3.1 首頁輸入搜索關鍵詞.......................309

18.3.2 爬取列表頁信息.........312

18.3.3 爬取詳情頁信息.........313

18.4 解析內容.................................314

18.4.1 解析列表頁數據.........314

18.4.2 解析詳情頁數據.........316

18.5 保存數據.................................318

18.6 項目小結.................................320