Python 網絡爬蟲與數據分析從入門到實踐
馬國俊
- 出版商: 清華大學
- 出版日期: 2023-04-01
- 售價: $479
- 貴賓價: 9.5 折 $455
- 語言: 簡體中文
- ISBN: 7302627819
- ISBN-13: 9787302627814
-
相關分類:
Data Science、Web-crawler 網路爬蟲
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
$780$616 -
$403AWS Lambda 實戰 : 開發事件驅動的無服務器應用程序 (AWS Lambda in Action: Event-Driven Serverless Applications)
-
$450$351 -
$780$616 -
$1,000$790 -
$750$638 -
$599$569 -
$450$356 -
$839$797 -
$653Python 網絡爬蟲技術手冊:基礎·實戰·強化
-
$454Vue.js 3 應用開發與核心源碼解析
-
$505MindManager思維導圖與信息可視化官方標準教程
-
$474$450 -
$539$512 -
$250燒不死的鳥是鳳凰:12個步驟帶你重塑職業和生活
-
$407零基礎Python入門教程
-
$454剪映視頻剪輯從入門到精通 手機版
-
$403剪映視頻剪輯從入門到精通 電腦版
-
$359$341 -
$534$507 -
$426Python辦公好輕松
-
$680$537 -
$714$678 -
$750$593 -
$490$387
相關主題
商品描述
《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