內容簡介
《Python 3 爬蟲、數據清洗與可視化實戰(第2版)》是一個完整大數據套用框架:從數據收集、分析到數據可視化、數據建模。各章節以實際案例為出發點。
圖書目錄
第1 章 Python 語言基礎 1
1.1 安裝Python 環境 1
1.1.1 Python 3.6.2 安裝與配置 1
1.1.2 使用IDE 工具——PyCharm 4
1.1.3 使用IDE 工具——Anaconda 4
1.2 Python 操作入門 5
1.2.1 編寫第一個Python 代碼 5
1.2.2 Python 基本操作 . 8
1.2.3 變數 . 10
1.3 Python 數據類型 . 10
1.3.1 數字 . 10
1.3.2 字元串 11
1.3.3 列表 . 14
1.3.4 元組 . 15
1.3.5 集合 . 15
1.3.6 字典 . 15
1.4 Python 語句與函式 16
1.4.1 條件語句 16
1.4.2 循環語句 16
1.4.3 函式 . 17
1.5 習題 18
第2 章數據採集的基本知識 . 25
2.1 關於爬蟲的合法性 25
2.2 了解網頁 . 27
2.2.1 認識網頁結構 28
2.2.2 寫一個簡單的HTML 28
2.3 使用requests 庫請求網站 . 30
2.3.1 安裝requests 庫 30
2.3.2 爬蟲的基本原理 32
2.3.3 使用GET 方式抓取數據 . 33
2.3.4 使用POST 方式抓取數據 .. 34
2.4 使用Beautiful Soup 解析網頁 37
2.5 清洗和組織數據 . 41
2.6 爬蟲攻防戰 42
2.7 關於什麼時候存儲數據 . 45
2.8 習題 45
第3 章用API 爬取天氣預報數據 . 48
3.1 註冊免費API 和閱讀技術文檔 . 48
3.2 獲取API 數據 50
3.3 存儲數據到MongoDB 55
3.3.1 下載並安裝MongoDB . 55
3.3.2 在PyCharm 中安裝Mongo Plugin. 56
3.3.3 將數據存入MongoDB 中 59
3.4 MongoDB 資料庫查詢 61
3.5 習題 64
第4 章大型爬蟲案例:抓取某電商網站的商品數據 . 65
4.1 觀察頁面特徵和解析數據. 65
4.2 工作流程分析 74
4.3 構建類目樹 75
4.4 獲取景點產品列表 78
4.5 代碼最佳化 . 80
4.6 爬蟲效率最佳化 .. 84
4.7 容錯處理 . 87
4.8 習題 87
第5 章採集手機App 數據 . 89
5.1 模擬器及抓包環境配置 . 89
5.2 App 數據抓包 .. 93
5.3 手機App 數據的採集 95
5.4 習題 96
第6 章 Scrapy 爬蟲 . 98
6.1 Scrapy 簡介 98
6.2 安裝Scrapy 99
6.3 案例:用Scrapy 抓取股票行情 . 100
6.4 習題 . 108
第7 章 Selenium 爬蟲 109
7.1 Selenium 簡介 109
7.2 安裝Selenium 111
7.3 Selenium 定位及操作元素 . 111
7.4 案例:用Selenium 抓取某電商網站數據 . 114
7.5 習題 . 122
第8 章爬蟲案例集錦 124
8.1 採集外賣平台數據 . 124
8.1.1 採集目標 124
8.1.2 採集代碼 126
8.2 採集內容平台數據 . 127
8.2.1 採集目標 127
8.2.2 採集代碼 129
8.3 採集招聘平台數據 . 130
8.3.1 採集目標 130
8.3.2 採集代碼 132
8.4 採集知識付費平台數據 .. 133
8.4.1 採集目標 133
8.4.2 採集代碼 136
第9 章資料庫連線和查詢 137
9.1 使用PyMySQL . 137
9.1.1 連線資料庫 .. 137
9.1.2 案例:某電商網站女裝行業TOP100 銷量數據 139
9.2 使用SQLAlchemy .. 141
9.2.1 SQLAlchemy 基本介紹 . 141
9.2.2 SQLAlchemy 基本語法 . 142
9.3 MongoDB . 144
9.3.1 MongoDB 基本語法 144
9.3.2 案例:在某電商網站搜尋“連衣裙”的商品數據 145
9.4 習題 . 146
第10 章 NumPy 數組操作 148
10.1 NumPy 簡介 148
10.2 一維數組 149
10.2.1 數組與列表的異同 149
10.2.2 數組的創建 150
10.3 多維數組 151
10.3.1 多維數組的高效性能 151
10.3.2 多維數組的索引與切片 152
10.3.3 多維數組的屬性和方法 153
10.4 數組的運算 .. 154
10.5 習題 155
第11 章 pandas 數據清洗 158
11.1 數據讀寫、選擇、整理和描述 . 158
11.1.1 從CSV 中讀取數據 160
11.1.2 向CSV 中寫入數據 161
11.1.3 數據選擇 . 161
11.1.4 數據整理 . 163
11.1.5 數據描述 . 164
11.2 數據分組、分割、合併和變形 . 165
11.2.1 數據分組 . 165
11.2.2 數據分割 . 168
11.2.3 數據合併 . 169
11.2.4 數據變形 . 175
11.2.5 案例:旅遊數據的分析與變形 177
11.3 缺失值、異常值和重複值處理 . 181
11.3.1 缺失值處理 181
11.3.2 檢測和過濾異常值 184
11.3.3 移除重複值 187
11.3.4 案例:旅遊數據值的檢查與處理 . 189
11.4 時序數據處理 . 192
11.4.1 日期/時間數據轉換 192
11.4.2 時序數據基礎操作 193
11.4.3 案例:天氣預報數據分析與處理 . 195
11.5 數據類型轉換 . 199
11.6.1 元字元與限定符 . 201
11.6.2 案例:用正則表達式提取網頁文本信息 . 202
11.7 習題 203
第12 章綜合套用實例 206
12.1 按性價比給用戶推薦旅遊產品 . 206
12.1.1 數據採集 . 207
12.1.2 數據清洗、建模 . 211
12.2 通過熱力圖分析為用戶提供出行建議 . 213
12.2.1 某旅遊網站熱門景點爬蟲代碼 .. 217
12.2.2 提取CSV 檔案中經緯度和銷量信息 . 220
12.2.3 創建景點門票銷量熱力圖HTML 檔案 221
第13 章數據可視化 . 224
13.1 套用matplotlib 畫圖 225
13.1.1 畫出各省份平均價格、各省份
平均成交量柱狀圖 225
13.1.2 畫出各省份平均成交量折線圖、柱狀圖、箱形圖和餅圖 227
13.1.3 畫出價格與成交量的散點圖 228
13.2 套用pyecharts 畫圖 228
13.2.1 Echarts 簡介 228
13.2.2 pyecharts 簡介 229
13.2.3 初識pyecharts,玫瑰相送 229
13.2.4 pyecharts 基本語法 230
13.2.5 基於商業分析的pyecharts 圖表繪製 . 232
13.2.6 使用pyecharts 繪製其他圖表 . 242
13.2.7 pyecharts 和Jupyter 245
13.3 習題 246
作者簡介
零一
原名陳海城,慕研數據分析師事務所創始人,電商數據專家,數據分析師,開發工程師;從事教育培訓、數據分析和人工智慧行業,專注於電商企業的數據化服務。
韓要賓
CDA數據分析研究院資深講師;5年電商從業經驗,4年數據挖掘實戰經驗;專注於數據分析與挖掘、機器學習、深度學習,服務客戶包括蘇寧易購、迪卡儂、百草味、
浙江師範大學等。
黃園園
具有10年軟體開發經驗,全棧工程師,
六西格瑪黑帶,精通Python和
機器學習算法,具有豐富的分散式爬蟲開發經驗;曾在蘇州三星電子電腦(SESC)、新加坡電信(NCS)、希捷科技(Seagate Technology)等世界知名企業研發部工作,參與過花旗銀行線上支付系統、銀行賬單自動化審核系統等大型軟體開發,曾任杭州沐垚科技有限公司CTO。