Python網路爬蟲與數據分析從入門到實踐

Python網路爬蟲與數據分析從入門到實踐

《Python網路爬蟲與數據分析從入門到實踐》是2023年清華大學出版社出版的圖書,作者是馬國俊。

基本介紹

  • 中文名:Python網路爬蟲與數據分析從入門到實踐
  • 作者:馬國俊
  • 出版時間:2023年4月1日
  • 出版社:清華大學出版社
  • ISBN:9787302627814
  • 定價:79.80 元
內容簡介,圖書目錄,

內容簡介

《Python網路爬蟲與數據分析從入門到實踐》從初學者的視角出發,以案例實操為核心,系統地介紹網路爬蟲的原理、工具使用與爬取技術,並詳細講解數據分析的各種技巧。本書主要內容包括:Python基礎語法,數據分析工具NumPy、Pandas、Matplotlib的使用,網路爬蟲庫Urllib、BeautifulSoup、Scrapy,正則表達式在網路爬蟲中的套用,數據預處理與數據分析方法、中文文本處理、文本向量化技術,以及機器學習算法在數據分析中的套用。書中還給出了大量案例和項目,可以幫助讀者快速上手,提高實用技能。 《Python網路爬蟲與數據分析從入門到實踐》內容豐富,注重實操,適用於網路爬蟲崗位、數據分析崗位的初級工程師和各類工程技術人員,還可作為高校經濟、管理、人文社科、大數據等專業的教學用書。

圖書目錄

第1章 Python基礎語法 1
1.1 搭建Python開發環境 1
1.1.1 安裝Python解釋器 2
1.1.2 安裝第三方開發包 3
1.1.3 在PyCharm里設定解釋器 3
1.1.4 在PyCharm里新建項目和檔案 4
1.2 Python語法入門 6
1.2.1 Python常量和變數 6
1.2.2 基本數據類型 6
1.2.3 字元串 8
1.2.4 單行注釋和多行注釋 10
1.2.5 條件分支語句 10
1.2.6 循環語句 11
1.2.7 break和continue 12
1.2.8 格式化輸出 13
1.3 函式及用法 14
1.3.1 定義和調用函式 14
1.3.2 return關鍵字 15
1.3.3 遞歸調用函式 15
1.4 函式的特殊操作 16
1.4.1 參數是函式 16
1.4.2 返回結果是函式 17
1.4.3 匿名函式(Lambda表達式) 17
1.5 Python的數據結構 18
1.5.1 列表及其用法 18
1.5.2 元組及其用法 19
1.5.3 字典及其用法 19
1.6 動手練習 20
第2章 數據科學庫之NumPy 21
2.1 NumPy庫中的ndarray對象 21
2.1.1 如何創建ndarray 22
2.1.2 用dtype參數指定數據類型 23
2.1.3 創建全0或全1的ndarray 24
2.2 NumPy常見操作 25
2.2.1 用arange創建序列 25
2.2.2 常用的數學運算 26
2.2.3 NumPy的科學計算函式 26
2.2.4 NumPy的聚合統計函式 27
2.3 索引和切片操作 28
2.3.1 索引操作 28
2.3.2 布爾索引與過濾數據 29
2.3.3 切片操作中的記憶體共享問題 29
2.3.4 copy函式與創建副本 31
2.4 動手練習 31
第3章 數據處理庫之Pandas 33
3.1 Series對象及操作 34
3.1.1 Series常規操作 34
3.1.2 Series抽樣操作 35
3.1.3 Series索引操作 35
3.1.4 Series切片操作 37
3.1.5 Series布爾索引過濾操作 38
3.1.6 Series遍歷操作 39
3.2 DataFrame對象及操作 39
3.2.1 創建DataFrame對象 39
3.2.2 提取DataFrame對象的數據 40
3.2.3 遍歷DataFrame對象 41
3.2.4 排序DataFrame中的數據 42
3.2.5 以列為單位操作DataFrame數據 42
3.2.6 分析統計DataFrame數據 43
3.3 DataFrame同各種檔案互動 44
3.3.1 把DataFrame數據導入CSV檔案 44
3.3.2 把CSV數據導入DataFrame對象 45
3.3.3 把DataFrame數據導入JSON檔案 46
3.3.4 把JSON數據導入DataFrame對象 46
3.4 動手練習 47
第4章 數據可視化庫之Matplotlib 48
4.1 繪製各類圖形 49
4.1.1 繪製折線圖 49
4.1.2 繪圖時的通用屬性參數 50
4.1.3 繪製柱狀圖 51
4.1.4 繪製餅圖 52
4.1.5 繪製直方圖 53
4.2 設定坐標 54
4.2.1 設定x坐標和y坐標的標籤文字 55
4.2.2 設定坐標範圍 55
4.2.3 設定主次刻度 56
4.2.4 設定並旋轉刻度文字 58
4.3 增加可視化美觀效果 59
4.3.1 設定圖例 59
4.3.2 設定中文標題 60
4.3.3 設定格線效果 61
4.4 設定子圖效果 63
4.4.1 通過add_subplot方法繪製子圖 63
4.4.2 通過subplot方法繪製子圖 64
4.4.3 子圖共享x坐標軸 65
4.4.4 在大圖里繪製子圖 66
4.5 高級圖表的繪製方式 67
4.5.1 繪製散點圖 67
4.5.2 繪製熱力圖 69
4.5.3 繪製等值線圖 70
4.6 動手練習 71
第5章 數據獲取之網路爬蟲 72
5.1 和爬蟲有關的HTTP協定 72
5.1.1 基於HTTP協定的請求處理流程 73
5.1.2 HTTP請求頭包含作業系統和瀏覽器信息 74
5.1.3 Post和Get請求方法 75
5.1.4 HTTP常見的狀態碼 75
5.2 通過Urllib庫獲取網頁信息 76
5.2.1 通過request爬取網頁 76
5.2.2 設定逾時時間 76
5.2.3 用URLError處理網路異常 77
5.2.4 設定header屬性來模擬瀏覽器傳送請求 78
5.3 通過BeautifulSoup提取頁面信息 78
5.3.1 安裝BeautifulSoup庫 78
5.3.2 用Tag提取HTML元素和屬性 79
5.3.3 用NavigableString提取元素值 80
5.3.4 用Comment提取注釋 80
5.3.5 製作爬取指定頁面內容的規則 81
5.4 通過正則表達式截取信息 83
5.4.1 查找指定的字元串 83
5.4.2 用通配符來模糊匹配 84
5.4.3 通過原子表來定義匹配規則 85
5.4.4 用findall按匹配規則截取內容 86
5.5 動手練習 88
第6章 用Scrapy框架爬取數據 89
6.1 Scrapy框架概述 89
6.1.1 生成Scrapy項目 90
6.1.2 觀察Scrapy框架的構成 90
6.1.3 分析yield關鍵字 90
6.2 簡單爬蟲範例 91
6.2.1 創建爬蟲項目 92
6.2.2 在items里定義數據模型 92
6.2.3 生成爬蟲檔案 93
6.2.4 在pipelines檔案里定義數據的存儲方式 94
6.2.5 觀察爬蟲程式的運行結果 95
6.2.6 Scrapy框架開發爬蟲項目的步驟 95
6.3 複雜爬蟲範例 96
6.3.1 明確需求 96
6.3.2 創建Scrapy項目 97
6.3.3 定義圖書的數據模型 98
6.3.4 編寫代碼實現爬蟲功能 99
6.3.5 把爬取結果存為CSV檔案 100
6.3.6 運行爬蟲並觀察結果 101
6.4 動手練習 102
第7章 數據預處理與數據分析方法 103
7.1 基於Python的數據預處理 103
7.1.1 數據規範化處理 104
7.1.2 缺失值處理 104
7.1.3 重複值處理 106
7.2 Python與MySQL資料庫的互動 106
7.2.1 在本地搭建MySQL環境 107
7.2.2 安裝用來連線MySQL的PyMySQL庫 108
7.2.3 通過select語句執行查詢 110
7.2.4 執行增、刪、改操作 111
7.3 描述性統計 113
7.3.1 對樣本數據的分析 113
7.3.2 平均數、中位數和百分位數 114
7.3.3 用箱狀圖展示分位數 115
7.3.4 用小提琴圖展示數據分布情況 115
7.3.5 統計極差、方差和標準差 116
7.4 機率分析方法與推斷統計 117
7.4.1 用直方圖來擬合常態分配圖形 117
7.4.2 驗證序列是否滿足常態分配 118
7.4.3 參數估計方法 119
7.4.4 顯著性驗證 120
7.5 基於時間序列的統計方法 121
7.5.1 統計移動平均值 121
7.5.2 時間序列的自相關性分析 122
7.5.3 時間序列的偏自相關性分析 124
7.6 動手練習 125
第8章 中文文本處理 126
8.1 中文文本處理概述 126
8.1.1 中文分詞 127
8.1.2 詞頻統計 127
8.1.3 詞性標註 127
8.1.4 停用詞消除 127
8.2 基於結巴庫的文本處理 128
8.2.1 實現分詞效果 128
8.2.2 提取關鍵字 129
8.2.3 標註詞性 129
8.2.4 統計詞頻 130
8.3 引入自定義信息 131
8.3.1 用自定義詞典分詞 131
8.3.2 去除自定義的停用詞 132
8.3.3 自定義詞性 133
8.4 基於NLTK庫的文本處理 133
8.4.1 統計詞頻和出現次數 134
8.4.2 展示高頻詞 135
8.4.3 繪製詞頻分布圖 135
8.4.4 繪製詞雲 136
8.5 動手練習 137
第9章 文本向量化技術 138
9.1 文本向量化技術概述 138
9.1.1 什麼是文本向量化 139
9.1.2 什麼是TF-IDF 139
9.1.3 基於TF-IDF的文本向量化示例 139
9.2 基於Gensim的文本向量化分析 140
9.2.1 Gensim庫介紹 140
9.2.2 計算TF-IDF 141
9.2.3 分詞與TF-IDF技術的整合套用 142
9.3 向量化技術的使用場景 143
9.3.1 相似度分析 143
9.3.2 情感分析 144
9.4 動手練習 146
第10章 基於機器學習的分析方法 147
10.1 基礎知識 148
10.1.1 什麼是機器學習 148
10.1.2 安裝sklearn庫並了解數據集 148
10.1.3 訓練集、驗證集和測試集 149
10.2 線性回歸分析方法 149
10.2.1 波士頓房價案例的數據集 149
10.2.2 多元線性回歸分析方法 152
10.2.3 交叉驗證分析技術 154
10.3 嶺回歸和Lasso回歸分析法 155
10.3.1 嶺回歸和線性回歸的差別 155
10.3.2 用嶺回歸擬合波士頓房價 157
10.3.3 用Lasso回歸分析波士頓房價 159
10.4 基於機器學習的分類分析方法 160
10.4.1 SVM分類器的線性與高斯核心 160
10.4.2 用SVM分類器分類鳶尾花 162
10.4.3 基於KNN分類器的可視化效果 165
10.4.4 用KNN分類器分類葡萄酒數據 166
10.4.5 用邏輯回歸分類器分類鳶尾花 167
10.5 基於手寫體數字識別的分類範例 168
10.5.1 分析Digits數據集 169
10.5.2 用訓練集和測試集評估分類結果 169
10.5.3 觀察分類模型的預測與真實結果 171
10.6 動手練習 172
第11章 電影評論數據分析案例 174
11.1 用Scrapy爬取電影評論數據 174
11.1.1 創建Scrapy項目 175
11.1.2 分析待爬取的評論頁面代碼 175
11.1.3 編寫評論數據的模型 177
11.1.4 編寫爬蟲代碼 178
11.1.5 編寫數據持久化代碼 179
11.1.6 編寫爬蟲項目的配置信息 180
11.1.7 運行爬蟲並獲取數據 180
11.2 對爬取的電影評論數據進行分析 181
11.2.1 通過餅圖分析評分 181
11.2.2 通過柱狀圖分析評分 182
11.2.3 繪製關於評論的詞雲 183
11.2.4 用直方圖觀察情感分析結果 185
11.3 動手練習 186
第12章 二手房數據分析案例 187
12.1 用Scrapy爬取二手房數據 187
12.1.1 創建Scrapy項目並明確待爬取的數據 187
12.1.2 分析待爬取的頁面代碼 188
12.1.3 編寫二手房數據的模型 190
12.1.4 編寫爬蟲代碼 191
12.1.5 編寫數據持久化代碼 193
12.1.6 編寫爬蟲項目的配置信息 193
12.1.7 運行爬蟲並獲取數據 193
12.2 數據預處理與數據分析 194
12.2.1 根據數據特性清洗數據 194
12.2.2 通過餅圖展示二手房數據 195
12.2.3 通過柱狀圖展示二手房數據 197
12.2.4 通過直方圖展示二手房房價 199
12.2.5 通過小提琴圖展示二手房數據 200
12.2.6 通過散點圖展示關注情況 202
12.2.7 繪製二手房相關的詞雲 203
12.3 動手練習 205
第13章 通過電子郵件傳送數據分析結果 207
13.1 實現傳送電子郵件的功能 207
13.1.1 傳送簡單格式的電子郵件(無收件人信息) 208
13.1.2 傳送HTML格式的電子郵件(顯示收件人) 209
13.1.3 包含文本附屬檔案的電子郵件(多個收件人) 211
13.1.4 在正文中嵌入圖片 212
13.2 以電子郵件的形式傳送RSI指標圖 214
13.2.1 RSI指標的原理和算法描述 214
13.2.2 通過範例程式觀察RSI的算法 215
13.2.3 把Matplotlib繪製的RSI圖存儲為圖片 216
13.2.4 RSI整合K線圖後以電子郵件形式傳送 218
13.3 以電子郵件的形式傳送基於RSI指標的買賣點 222
13.3.1 RSI指標對買賣點的指導意義 222
13.3.2 基於RSI指標計算買點並以電子郵件的形式發出 222
13.3.3 基於RSI指標計算賣點並以電子郵件的形式發出 225
13.4 動手練習 227

相關詞條

熱門詞條

聯絡我們