《Python 3爬蟲、數據清洗與可視化實戰》是2018年電子工業出版社出版的圖書,作者是零一。
基本介紹
- 中文名:Python 3爬蟲、數據清洗與可視化實戰
- 作者:零一
- 出版時間:2018年10月
- 出版社:電子工業出版社
- 頁數:212 頁
- ISBN:9787121333590
- 定價:49 元
- 開本:16 開
主要內容,目錄,
主要內容
《Python 3爬蟲、數據清洗與可視化實戰》是一本通過實戰教初學者學習採集數據、清洗和組織數據進行分析及可視化的Python 讀物。《Python 3爬蟲、數據清洗與可視化實戰》案例均經過實戰檢驗,筆者在實踐過程中深感採集數據、清洗和組織數據的重要性,作為一名數據行業的“碼農”,數據就是沃土,沒有數據,我們將無田可耕。
《Python 3爬蟲、數據清洗與可視化實戰》共分11 章,6 個核心主題:其一是Python 基礎入門,包括環境配置、基本操作、數據類型、語句和函式;其二是Python 爬蟲的構建,包括網頁結構解析、爬蟲流程設計、代碼最佳化、效率最佳化、容錯處理、反防爬蟲、表單互動和模擬頁面點擊;其三是Python 資料庫套用,包括MongoDB、MySQL 在Python中的連線與套用;其四是數據清洗和組織,包括NumPy 數組知識、pandas 數據的讀寫、分組變形、缺失值異常值處理、時序數據處理和正則表達式的使用;其五是綜合套用案例,幫助讀者貫穿爬蟲、數據清洗與組織的過程;最後是數據可視化,包括Matplotlib 和Pyecharts 兩個庫的使用,涉及餅圖、柱形圖、線圖、詞雲圖、地圖等圖形,幫助讀者進入可視化的殿堂。
《Python 3爬蟲、數據清洗與可視化實戰》以實戰為主,適合Python 初學者及高等院校的相關專業學生,也適合Python 培訓機構作為實驗教材使用。
目錄
第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 操作入門 .............................................................................................................. 6
1.2.1 編寫第一個Python 代碼 .......................................................................................... 6
1.2.2 Python 基本操作 ....................................................................................................... 9
1.2.3 變數 .......................................................................................................................... 10
1.3 Python 數據類型 ............................................................................................................ 10
1.3.1 數字 .......................................................................................................................... 10
1.3.2 字元串 .......................................................................................................................11
1.3.3 列表 .......................................................................................................................... 13
1.3.4 元組 .......................................................................................................................... 14
1.3.5 集合 .......................................................................................................................... 15
1.3.6 字典 .......................................................................................................................... 15
1.4 Python 語句與函式 ......................................................................................................... 16
1.4.1 條件語句 .................................................................................................................. 16
1.4.2 循環語句 .................................................................................................................. 16
1.4.3 函式 .......................................................................................................................... 17
第2 章 寫一個簡單的爬蟲 .......................................................................... 18
2.1 關於爬蟲的合法性 ......................................................................................................... 18
2.2 了解網頁 ......................................................................................................................... 20
2.2.1 認識網頁結構 .......................................................................................................... 21
2.2.2 寫一個簡單的HTML ............................................................................................. 21
2.3 使用requests 庫請求網站 .............................................................................................. 23
Python 3 爬蟲、數據清洗與可視化實戰
2.3.1 安裝requests 庫 ....................................................................................................... 23
2.3.2 爬蟲的基本原理 ...................................................................................................... 25
2.3.3 使用GET 方式抓取數據 ........................................................................................ 26
2.3.4 使用POST 方式抓取數據 ...................................................................................... 27
2.4 使用Beautiful Soup 解析網頁 ....................................................................................... 30
2.5 清洗和組織數據 ............................................................................................................. 34
2.6 爬蟲攻防戰 ..................................................................................................................... 35
第3 章 用API 爬取天氣預報數據 ............................................................... 38
3.1 註冊免費API 和閱讀技術文檔 ..................................................................................... 38
3.2 獲取API 數據 ................................................................................................................ 40
3.3 存儲數據到MongoDB ................................................................................................... 45
3.3.1 下載並安裝MongoDB ............................................................................................ 45
3.3.2 在PyCharm 中安裝Mongo Plugin ......................................................................... 46
3.3.3 將數據存入MongoDB ............................................................................................ 49
3.4 MongoDB 資料庫查詢 ................................................................................................... 52
第4 章 大型爬蟲案例:抓取某電商網站的商品數據 ................................... 55
4.1 觀察頁面特徵和解析數據 ............................................................................................. 55
4.2 工作流程分析 ................................................................................................................. 64
4.3 構建類目樹 ..................................................................................................................... 65
4.4 獲取產品列表 ................................................................................................................. 68
4.5 代碼最佳化 ......................................................................................................................... 70
4.6 爬蟲效率最佳化 ................................................................................................................. 74
4.7 容錯處理 ......................................................................................................................... 77
第5 章 Scrapy 爬蟲 ................................................................................... 78
5.1 Scrapy 簡介 ..................................................................................................................... 78
5.2 Scrapy 安裝 ..................................................................................................................... 79
5.3 案例:用Scrapy 抓取股票行情 .................................................................................... 80
第6 章 Selenium爬蟲 ................................................................................ 88
6.1 Selenium 簡介 ................................................................................................................. 88
6.2 案例:用Selenium 抓取電商網站數據 ........................................................................ 90
第7 章 資料庫連線和查詢 ........................................................................ 100
7.1 使用PyMySQL ............................................................................................................ 100
7.1.1 連線資料庫 ............................................................................................................ 100
7.1.2 案例:某電商網站女裝行業TOP100 銷量數據 ................................................. 102
7.2 使用SQLAlchemy ........................................................................................................ 104
7.2.1 SQLAlchemy 基本介紹 ......................................................................................... 104
7.2.2 SQLAlchemy 基本語法 ......................................................................................... 105
7.3 MongoDB ...................................................................................................................... 107
7.3.1 MongoDB 基本語法 .............................................................................................. 107
7.3.2 案例:在某電商網站搜尋“連衣裙”的商品數據 ............................................ 107
第8 章 NumPy ......................................................................................... 109
8.1 NumPy 簡介 .................................................................................................................. 109
8.2 一維數組 ........................................................................................................................110
8.2.1 數組與列表的異同 .................................................................................................110
8.2.2 數組的創建 ............................................................................................................. 111
8.3 多維數組 ........................................................................................................................ 111
8.3.1 多維數組的高效性能 .............................................................................................112
8.3.2 多維數組的索引與切片 .........................................................................................113
8.3.3 多維數組的屬性 .....................................................................................................113
8.4 數組的運算 ....................................................................................................................115
第9 章 pandas 數據清洗 .......................................................................... 117
9.1 數據讀寫、選擇、整理和描述 ....................................................................................117
9.1.1 從CSV 中讀取數據 ...............................................................................................119
9.1.2 向CSV 寫入數據 .................................................................................................. 120
9.1.3 數據選擇 ................................................................................................................ 120
9.1.4 數據整理 ................................................................................................................ 122
9.1.5 數據描述 ................................................................................................................ 123
9.2 數據分組、分割、合併和變形 ................................................................................... 124
9.2.1 數據分組 ................................................................................................................ 124
9.2.2 數據分割 ................................................................................................................ 127
9.2.3 數據合併 ................................................................................................................ 128
9.2.4 數據變形 ................................................................................................................ 134
9.2.5 案例:旅遊數據的分析與變形 ............................................................................ 136
Python 3 爬蟲、數據清洗與可視化實戰
9.3 缺失值、異常值和重複值處理 ................................................................................... 140
9.3.1 缺失值處理 ............................................................................................................ 140
9.3.2 檢測和過濾異常值 ................................................................................................ 144
9.3.3 移除重複數據 ........................................................................................................ 147
9.3.4 案例:旅遊數據的值檢查與處理 ........................................................................ 149
9.4 時序數據處理 ............................................................................................................... 152
9.4.1 日期/時間數據轉換 ............................................................................................... 152
9.4.2 時序數據基礎操作 ................................................................................................ 153
9.4.3 案例:天氣數據分析與處理 ................................................................................ 155
9.5 數據類型轉換 ............................................................................................................... 158
9.6 正則表達式 ................................................................................................................... 160
9.6.1 元字元與限定符 .................................................................................................... 161
9.6.2 案例:用正則表達式提取網頁文本信息 ............................................................ 162
第10 章 綜合套用實例 ............................................................................. 164
10.1 按性價比給用戶推薦旅遊產品 ................................................................................. 164
10.1.1 數據採集 .............................................................................................................. 165
10.1.2 數據清洗、建模 .................................................................................................. 169
10.2 通過熱力圖分析為用戶提供出行建議 ..................................................................... 172
10.2.1 某旅遊網站熱門景點爬蟲代碼(qunaer_sights.py) ....................................... 175
10.2.2 提取CSV 檔案中經緯度和銷量信息 ................................................................ 178
10.2.3 創建景點門票銷量熱力地圖HTML 檔案 ......................................................... 179
第11 章 數據可視化 ................................................................................. 182
11.1 matplotlib .................................................................................................................... 183
11.1.1 畫出各省份平均價格、各省份平均成交量柱狀圖 .......................................... 183
11.1.2 畫出各省份平均成交量折線圖、柱狀圖、箱形圖和餅圖 .............................. 184
11.1.3 畫出價格與成交量的散點圖 .............................................................................. 185
11.2 pyecharts ...................................................................................................................... 186
11.2.1 Echarts 簡介 ......................................................................................................... 186
11.2.2 pyecharts 簡介 ..................................................................................................... 187
11.2.3 初識pyecharts,玫瑰相送 .................................................................................. 187
11.2.4 pyecharts 基本語法 .............................................................................................. 188
11.2.5 基於商業分析的pyecharts 圖表繪製 ................................................................. 190
11.2.6 使用pyecharts 繪製其他圖表 ............................................................................. 199
11.2.7 pyecharts 和Jupyter ............................................................................................. 203