定 價:¥128.00
作 者: | 李寧 著 |
出版社: | 清華大學(xué)出版社 |
叢編項: | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787302507161 | 出版時間: | 2018-09-01 | 包裝: | 平裝 |
開本: | 16 | 頁數(shù): | 656 | 字?jǐn)?shù): |
推薦序. 1
前言. 3
本書配套資源. 5
第一篇 Python基礎(chǔ)知識
第1章 初識Python 3
1.1 Python簡介. 3
1.1.1 什么是Python 3
1.1.2 Python的應(yīng)用領(lǐng)域. 4
1.1.3 如何學(xué)好Python 5
1.1.4 Python API文檔. 6
1.2 搭建Python開發(fā)環(huán)境. 8
1.2.1 安裝官方的Python運(yùn)行環(huán)境. 9
1.2.2 配置PATH環(huán)境變量. 11
1.2.3 安裝Anaconda Python開發(fā)環(huán)境. 13
1.2.4 下載和安裝JDK 13
1.2.5 下載和安裝Eclipse 16
1.2.6 Python IDE(PyDev)安裝. 17
1.2.7 配置Python IDE(PyDev)開發(fā)環(huán)境. 20
1.2.8 測試Python IDE(PyDev)開發(fā)環(huán)境. 21
1.2.9 安裝PyCharm 22
1.2.10 配置PyCharm 23
1.2.11 Python中的REPL環(huán)境. 25
1.3 第一個Python程序. 26
1.4 調(diào)試Python程序. 26
1.5 小結(jié). 29
1.6 實戰(zhàn)與練習(xí). 29
第2章 Python語言基礎(chǔ). 30
2.1 Python程序中的基本要素. 30
2.1.1 導(dǎo)入Python模塊. 30
2.1.2 聲明變量. 32
2.1.3 清空Python控制臺. 32
2.2 數(shù)字. 34
2.2.1 基礎(chǔ)知識. 34
2.2.2 大整數(shù). 36
2.2.3 二進(jìn)制、八進(jìn)制和十六進(jìn)制. 36
2.2.4 數(shù)字的格式化輸出. 37
2.3 獲取用戶輸入. 39
2.4 函數(shù). 40
2.5 注釋. 41
2.6 字符串基礎(chǔ). 42
2.6.1 單引號字符串和轉(zhuǎn)義符. 42
2.6.2 拼接字符串. 43
2.6.3 保持字符串的原汁原味. 44
2.6.4 長字符串. 46
2.7 小結(jié). 47
2.8 實戰(zhàn)與練習(xí). 47
第3章 條件、循環(huán)和其他語句. 49
3.1 神奇的print函數(shù). 49
3.2 有趣的賦值操作. 51
3.3 用縮進(jìn)創(chuàng)建代碼塊. 53
3.4 條件和條件語句. 53
3.4.1 布爾值和布爾變量. 54
3.4.2 條件語句(if、else和elif). 55
3.4.3 嵌套代碼塊. 56
3.4.4 比較運(yùn)算符. 57
3.4.5 斷言. 60
3.5 循環(huán). 62
3.5.1 while循環(huán). 62
3.5.2 for循環(huán). 63
3.5.3 跳出循環(huán). 65
3.5.4 循環(huán)中的else語句. 67
3.6 使用exec和eval執(zhí)行求值字符串. 69
3.7 小結(jié). 71
3.8 實戰(zhàn)與練習(xí). 71
第4章 列表和元組. 73
4.1 定義序列. 73
4.2 序列的基本操作. 74
4.2.1 通過索引操作序列元素. 74
4.2.2 分片. 77
4.2.3 序列相加. 83
4.2.4 序列的乘法. 84
4.2.5 檢查某個值是否屬于一個序列. 85
4.2.6 序列的長度、最大值和最小值. 86
4.3 列表的基本操作. 87
4.4 列表方法. 89
4.5 元組. 93
4.6 小結(jié). 95
4.7 實戰(zhàn)與練習(xí). 95
第5章 字符串..................................................................................... 97
5.1 字符串的基本操作. 97
5.2 格式化字符串. 98
5.2.1 字符串格式化基礎(chǔ). 98
5.2.2 模板字符串. 100
5.2.3 字符串的format方法. 101
5.2.4 更進(jìn)一步控制字符串格式化參數(shù). 102
5.2.5 字段寬度、精度和千位分隔符. 104
5.2.6 符號、對齊、用0填充和進(jìn)制轉(zhuǎn)換. 105
5.3 字符串方法. 107
5.3.1 center方法. 107
5.3.2 find方法. 108
5.3.3 join方法. 109
5.3.4 split方法. 110
5.3.5 lower方法、upper方法和capwords函數(shù). 111
5.3.6 replace方法. 112
5.3.7 strip方法. 112
5.3.8 translate方法與maketrans方法. 113
5.4 小結(jié). 114
5.5 實戰(zhàn)與練習(xí). 115
第6章 字典. 116
6.1 為什么要引入字典. 116
6.2 創(chuàng)建和使用字典. 117
6.2.1 dict函數(shù). 117
6.2.2 字典的基本操作. 118
6.2.3 字典的格式化字符串. 120
6.2.4 序列與迭代. 121
6.3 字典方法. 124
6.3.1 clear方法. 124
6.3.2 copy方法與deepcopy函數(shù). 125
6.3.3 fromkeys方法. 126
6.3.4 get方法. 127
6.3.5 items方法和keys方法. 128
6.3.6 pop方法和popitem方法. 129
6.3.7 setdefault方法. 130
6.3.8 update方法. 131
6.3.9 values方法. 132
6.4 小結(jié). 133
6.5 實戰(zhàn)與練習(xí). 133
第7章 函數(shù). 134
7.1 懶惰是重用的基石. 134
7.2 函數(shù)基礎(chǔ). 136
7.2.1 創(chuàng)建函數(shù). 136
7.2.2 為函數(shù)添加文檔注釋. 137
7.2.3 沒有返回值的函數(shù). 138
7.3 函數(shù)參數(shù). 139
7.3.1 改變參數(shù)的值. 139
7.3.2 關(guān)鍵字參數(shù)與默認(rèn)值. 144
7.3.3 可變參數(shù). 147
7.3.4 將序列作為函數(shù)的參數(shù)值. 151
7.4 作用域. 154
7.5 遞歸. 156
7.6 小結(jié). 158
7.7 實戰(zhàn)與練習(xí). 158
第8章 類和對象. 159
8.1 對象的魔法. 159
8.2 類. 160
8.2.1 創(chuàng)建自己的類. 160
8.2.2 方法和私有化. 161
8.2.3 類代碼塊. 163
8.2.4 類的繼承. 164
8.2.5 檢測繼承關(guān)系. 165
8.2.6 多繼承. 167
8.2.7 接口. 169
8.3 小結(jié). 170
8.4 實戰(zhàn)與練習(xí). 171
第9章 異常. 172
9.1 什么是異常. 172
9.2 主動拋出異常. 173
9.2.1 raise語句. 173
9.2.2 自定義異常類. 175
9.3 捕捉異常. 176
9.3.1 try…except語句的基本用法. 176
9.3.2 捕捉多個異常. 177
9.3.3 用同一個代碼塊處理多個異常. 179
9.3.4 捕捉對象. 180
9.3.5 異常捕捉中的else子句. 182
9.3.6 異常捕捉中的finally子句. 183
9.4 異常、函數(shù)與棧跟蹤. 185
9.5 異常的妙用. 186
9.6 小結(jié). 188
9.7 實戰(zhàn)與練習(xí). 188
第10章 方法、屬性和迭代器. 189
10.1 構(gòu)造方法. 189
10.1.1 構(gòu)造方法的基礎(chǔ)知識. 189
10.1.2 重寫普通方法和構(gòu)造方法. 190
10.1.3 使用super函數(shù). 193
10.2 特殊成員方法. 194
10.2.1 自定義序列. 194
10.2.2 從內(nèi)建列表、字符串和字典繼承. 197
10.3 屬性. 199
10.3.1 傳統(tǒng)的屬性. 199
10.3.2 property函數(shù). 201
10.3.3 監(jiān)控對象中所有的屬性. 203
10.4 靜態(tài)方法和類方法. 205
10.5 迭代器. 207
10.5.1 自定義可迭代的類. 207
10.5.2 將迭代器轉(zhuǎn)換為列表. 209
10.6 生成器. 210
10.6.1 創(chuàng)建生成器. 210
10.6.2 遞歸生成器. 212
10.7 小結(jié). 213
10.8 實戰(zhàn)與練習(xí). 214
第二篇 Python高級編程
第11章 正則表達(dá)式. 217
11.1 在Python語言中使用正則表達(dá)式. 217
11.1.1 使用match方法匹配字符串. 217
11.1.2 使用search方法在一個字符串中查找模式. 218
11.1.3 匹配多個字符串. 219
11.1.4 匹配任何單個字符. 220
11.1.5 使用字符集. 221
11.1.6 重復(fù)、可選和特殊字符. 223
11.1.7 分組. 226
11.1.8 匹配字符串的起始和結(jié)尾以及單詞邊界. 228
11.1.9 使用findall和finditer查找每一次出現(xiàn)的位置. 229
11.1.10 用sub和subn搜索與替換. 230
11.1.11 使用split分隔字符串. 232
11.2 一些常用的正則表達(dá)式. 232
11.3 小結(jié). 233
11.4 實戰(zhàn)與練習(xí). 234
第12章 常用模塊. 235
12.1 sys模塊. 235
12.2 os模塊. 238
12.2.1 獲取與改變工作目錄. 238
12.2.2 文件與目錄操作. 239
12.2.3 軟鏈接與硬鏈接. 240
12.2.4 雜項. 241
12.3 集合、堆和雙端隊列(heap模塊、deque類). 243
12.3.1 集合. 244
12.3.2 堆. 247
12.3.3 雙端隊列. 249
12.4 時間、日期與日歷(time模塊). 250
12.4.1 時間元組. 250
12.4.2 格式化日期和時間. 251
12.4.3 時間戳的增量. 253
12.4.4 計算日期和時間的差值. 254
12.4.5 獲取某月和某年的日歷. 255
12.5 隨機(jī)數(shù)(random模塊). 256
12.6 數(shù)學(xué)(math模塊). 257
12.7 小結(jié). 258
12.8 實戰(zhàn)與練習(xí). 258
第13章 文件和流. 259
13.1 打開文件. 259
13.2 操作文件的基本方法. 260
13.2.1 讀文件和寫文件. 261
13.2.2 管道輸出. 262
13.2.3 讀行和寫行. 264
13.3 使用FileInput對象讀取文件. 265
13.4 小結(jié). 266
13.5 實戰(zhàn)與練習(xí). 266
第14章 數(shù)據(jù)存儲. 268
14.1 處理XML格式的數(shù)據(jù). 268
14.1.1 讀取與搜索XML文件. 268
14.1.2 字典轉(zhuǎn)換為XML字符串. 270
14.1.3 XML字符串轉(zhuǎn)換為字典. 272
14.2 處理JSON格式的數(shù)據(jù). 273
14.2.1 JSON字符串與字典互相轉(zhuǎn)換. 273
14.2.2 將JSON字符串轉(zhuǎn)換為類實例. 275
14.2.3 將類實例轉(zhuǎn)換為JSON字符串. 276
14.2.4 類實例列表與JSON字符串互相轉(zhuǎn)換. 277
14.3 將JSON字符串轉(zhuǎn)換為XML字符串. 278
14.4 SQLite數(shù)據(jù)庫. 279
14.4.1 管理SQLite數(shù)據(jù)庫. 279
14.4.2 用Python操作SQLite數(shù)據(jù)庫. 281
14.5 MySQL數(shù)據(jù)庫. 284
14.6 ORM 286
14.6.1 SQLAlchemy 287
14.6.2 SQLObject 291
14.7 非關(guān)系型數(shù)據(jù)庫. 294
14.7.1 NoSQL簡介. 294
14.7.2 MongoDB數(shù)據(jù)庫. 295
14.7.3 pymongo模塊. 296
14.8 小結(jié). 297
14.9 實戰(zhàn)與練習(xí). 297
第15章 TCP與UDP編程. 299
15.1 套接字. 299
15.1.1 建立TCP服務(wù)端. 299
15.1.2 服務(wù)端接收數(shù)據(jù)的緩沖區(qū). 303
15.1.3 服務(wù)端的請求隊列. 305
15.1.4 TCP時間戳服務(wù)端. 307
15.1.5 用Socket實現(xiàn)HTTP服務(wù)器. 307
15.1.6 客戶端Socket 311
15.1.7 UDP時間戳服務(wù)端. 312
15.1.8 UDP時間戳客戶端. 313
15.2 socketserver模塊. 314
15.2.1 實現(xiàn)socketserver TCP時間戳服務(wù)端. 314
15.2.2 實現(xiàn)socketserver TCP時間戳客戶端. 315
15.3 小結(jié). 316
15.4 實戰(zhàn)與練習(xí). 316
第16章 網(wǎng)絡(luò)高級編程. 317
16.1 urllib3模塊. 317
16.1.1 發(fā)送HTTP GET請求. 318
16.1.2 發(fā)送HTTP POST請求. 319
16.1.3 HTTP請求頭. 320
16.1.4 HTTP響應(yīng)頭. 322
16.1.5 上傳文件. 323
16.1.6 超時. 325
16.2 twisted框架. 326
16.2.1 異步編程模型. 327
16.2.2 Reactor(反應(yīng)堆)模式. 329
16.2.3 HelloWorld(twisted框架). 329
16.2.4 用twisted實現(xiàn)時間戳客戶端. 331
16.2.5 用twisted實現(xiàn)時間戳服務(wù)端. 332
16.2.6 用twisted獲取Email郵箱目錄列表. 333
16.3 FTP客戶端. 338
16.4 Email客戶端. 341
16.4.1 使用SMTP發(fā)送簡單的Email 341
16.4.2 使用SMTP發(fā)送帶附件的Email 343
16.4.3 使用POP3接收Email 344
16.4.4 使用IMAP4接收Email 346
16.5 小結(jié). 348
16.6 實戰(zhàn)與練習(xí). 348
第17章 多線程. 349
17.1 線程與進(jìn)程. 349
17.1.1 進(jìn)程. 349
17.1.2 線程. 349
17.2 Python與線程. 350
17.2.1 使用單線程執(zhí)行程序. 350
17.2.2 使用多線程執(zhí)行程序. 351
17.2.3 為線程函數(shù)傳遞參數(shù). 352
17.2.4 線程和鎖. 353
17.3 高級線程模塊. 355
17.3.1 Thread類與線程函數(shù). 355
17.3.2 Thread類與線程對象. 356
17.3.3 從Thread類繼承. 357
17.4 線程同步. 359
17.4.1 線程鎖. 359
17.4.2 信號量. 361
17.5 生產(chǎn)者—消費(fèi)者問題與queue模塊. 364
17.6 小結(jié). 366
17.7 實戰(zhàn)與練習(xí). 366
第18章 GUI庫:tkinter 368
18.1 tkinter簡介. 368
18.2 編寫第一個tkinter程序. 368
18.3 布局. 370
18.3.1 pack布局. 370
18.3.2 place布局. 376
18.3.3 grid布局. 377
18.4 控件. 378
18.4.1 Label控件和Button控件. 378
18.4.2 Entry控件與Text控件. 380
18.4.3 Radiobutton控件. 382
18.4.4 Checkbutton控件. 383
18.4.5 Scale 控件. 384
18.4.6 Listbox控件. 386
18.5 向窗口添加菜單. 387
18.6 對話框. 389
18.7 小結(jié). 390
18.8 實戰(zhàn)與練習(xí). 390
第19章 GUI庫:PyQt5 391
19.1 PyQt5簡介. 391
19.2 安裝PyQt5 392
19.2.1 PyQt5開發(fā)環(huán)境搭建. 392
19.2.2 配置QTDesigner(可視化開發(fā)). 392
19.2.3 配置PyUIC 395
19.3 編寫第一個PyQt5程序. 397
19.4 窗口的基本功能. 398
19.4.1 設(shè)置窗口圖標(biāo). 398
19.4.2 顯示提示框. 398
19.4.3 關(guān)閉窗口. 399
19.4.4 消息盒子. 400
19.4.5 窗口居中. 401
19.5 布局. 402
19.5.1 絕對布局. 402
19.5.2 盒布局. 403
19.5.3 網(wǎng)格布局. 405
19.6 控件. 406
19.6.1 QPushButton控件. 406
19.6.2 QLineEdit控件. 408
19.6.3 QCheckBox控件. 409
19.6.4 QSlider控件. 410
19.6.5 QProgressBar控件. 411
19.6.6 QPixmap控件. 413
19.6.7 QComboBox控件. 414
19.6.8 QCalendarWidget控件. 415
19.7 菜單. 416
19.8 小結(jié). 418
19.9 實戰(zhàn)與練習(xí). 418
第20章 測試. 419
20.1 先測試后編碼. 419
20.1.1 為代碼劃定邊界. 420
20.1.2 測試的步驟. 421
20.2 測試工具. 421
20.2.1 doctest 421
20.2.2 unittest 423
20.3 檢查源代碼. 424
20.3.1 PyLint 425
20.3.2 Flake8 426
20.4 性能分析. 428
20.5 小結(jié). 429
20.6 實戰(zhàn)與練習(xí). 429
第三篇 Python Web開發(fā)
第21章 Python Web框架:Flask 433
21.1 Flask基礎(chǔ)知識. 434
21.1.1 使用8行代碼搞定Web應(yīng)用. 434
21.1.2 靜態(tài)路由和動態(tài)路由. 435
21.1.3 獲取HTTP請求數(shù)據(jù). 438
21.1.4 Response與Cookie 439
21.1.5 會話. 441
21.1.6 靜態(tài)文件和重定向. 443
21.2 Jinja2模板. 443
21.2.1 第一個基于Jinja2模板的Web應(yīng)用. 444
21.2.2 在Jinja2模板中使用復(fù)雜數(shù)據(jù). 445
21.2.3 在Jinja2模板中的過濾器. 447
21.2.4 條件控制. 448
21.2.5 循環(huán)控制. 450
21.2.6 宏操作. 452
21.2.7 include指令. 455
21.2.8 模板繼承. 457
21.2.9 使用flask-bootstrap模塊集成twitterBootstrap 458
21.2.10 自定義錯誤頁面. 460
21.3 Web表單與Flask-WTF擴(kuò)展. 461
21.3.1 表單類. 462
21.3.2 簡單的表單組件. 464
21.3.3 單選和多選組件. 467
21.3.4 表單校驗器. 469
21.3.5 獲取和設(shè)置表單組件中的數(shù)據(jù). 472
21.4 小結(jié). 473
21.5 實戰(zhàn)與練習(xí). 474
第22章 Python Web框架:Django 475
22.1 Django開發(fā)環(huán)境搭建. 475
22.2 Django基礎(chǔ)知識. 476
22.2.1 建立第一個Django工程. 476
22.2.2 Django工程結(jié)構(gòu)分析. 477
22.2.3 遠(yuǎn)程訪問與端口號. 477
22.2.4 用PyCharm建立Django工程. 478
22.2.5 添加路由. 480
22.2.6 在MyCharm中指定IP和端口號. 482
22.2.7 處理HTTP請求. 482
22.2.8 Response與Cookie 484
22.2.9 讀寫Session 485
22.2.10 用戶登錄. 487
22.2.11 靜態(tài)文件. 488
22.3 Django模板. 490
22.3.1 編寫第一個基于Django模板的應(yīng)用. 490
22.3.2 條件控制標(biāo)簽. 492
22.3.3 循環(huán)控制標(biāo)簽. 493
22.3.4 過濾器. 494
22.4 小結(jié). 496
22.5 實戰(zhàn)與練習(xí). 496
第四篇 Python科學(xué)計算與數(shù)據(jù)分析
第23章 科學(xué)計算庫:NumPy 499
23.1 NumPy開發(fā)環(huán)境搭建. 499
23.2 第一個NumPy程序. 500
23.3 NumPy數(shù)組. 501
23.3.1 創(chuàng)建多維數(shù)組. 501
23.3.2 獲取數(shù)組值和數(shù)組的分片. 502
23.3.3 改變數(shù)組的維度. 502
23.3.4 水平組合數(shù)組. 503
23.3.5 垂直數(shù)組組合. 505
23.3.6 水平分隔數(shù)組. 505
23.3.7 垂直分隔數(shù)組. 507
23.3.8 將數(shù)組轉(zhuǎn)換為Python列表. 508
23.4 NumPy常用函數(shù). 509
23.4.1 存取NumPy數(shù)組. 509
23.4.2 讀寫CSV文件. 510
23.4.3 成交量加權(quán)平均價格. 511
23.4.4 數(shù)組的最大值、最小值和取值范圍. 512
23.4.5 計算數(shù)組的中位數(shù)和方差. 513
23.4.6 計算兩只股票的相關(guān)性. 514
23.5 小結(jié). 515
23.6 實戰(zhàn)與練習(xí). 515
第24章 數(shù)據(jù)可視化庫:Matplotlib 516
24.1 Matplotlib開發(fā)環(huán)境搭建. 516
24.2 基礎(chǔ)知識. 517
24.2.1 第一個Matplotlib程序. 517
24.2.2 繪制正弦曲線和余弦曲線. 518
24.2.3 繪制隨機(jī)點. 519
24.2.4 繪制柱狀圖. 520
24.2.5 繪制直方圖與盒狀圖. 521
24.2.6 繪制餅圖. 523
24.3 定制顏色和樣式. 524
24.3.1 定制曲線的顏色. 524
24.3.2 定制離散點的樣式. 525
24.3.3 定制柱狀圖顏色. 526
24.3.4 定制餅圖顏色. 526
24.3.5 定制曲線類型. 527
24.3.6 定制柱狀圖的填充模式. 528
24.4 注釋. 529
24.4.1 在坐標(biāo)系上顯示標(biāo)題. 529
24.4.2 使用LaTex格式的標(biāo)題. 529
24.4.3 為X軸和Y軸添加注釋. 530
24.4.4 在坐標(biāo)系指定位置放置注釋. 531
24.4.5 為文本注釋添加Box 532
24.5 小結(jié). 532
24.6 實戰(zhàn)與練習(xí). 533
第25章 數(shù)據(jù)分析庫:Pandas 534
25.1 Pandas開發(fā)環(huán)境搭建. 534
25.2 樣本數(shù)據(jù)集. 534
25.3 Pandas基礎(chǔ)知識. 535
25.3.1 數(shù)據(jù)集的裝載與基礎(chǔ)操作. 535
25.3.2 查看數(shù)據(jù)集中的列. 536
25.3.3 查看數(shù)據(jù)集的行. 537
25.3.4 查看數(shù)據(jù)集單元格中的數(shù)據(jù). 538
25.3.5 對數(shù)據(jù)集進(jìn)行分組統(tǒng)計. 539
25.3.6 可視化統(tǒng)計數(shù)據(jù). 540
25.4 Pandas數(shù)據(jù)類型. 541
25.4.1 創(chuàng)建Series 541
25.4.2 創(chuàng)建DataFrame 542
25.4.3 Series的基本操作. 543
25.4.4 Series的方法. 544
25.4.5 Series的條件過濾. 545
25.4.6 DataFrame的條件過濾. 546
25.5 小結(jié). 547
25.6 實戰(zhàn)與練習(xí). 548
第五篇 Python Web爬蟲技術(shù)
第26章 網(wǎng)絡(luò)爬蟲與Beautiful Soup 551
26.1 網(wǎng)絡(luò)爬蟲基礎(chǔ). 551
26.1.1 爬蟲分類. 552
26.1.2 編寫第1個網(wǎng)絡(luò)爬蟲. 552
26.1.3 保存抓取的數(shù)據(jù). 555
26.1.4 從百度抓取海量比基尼美女圖片. 557
26.2 HTML分析庫:Beautiful Soup 560
26.2.1 如何使用Beautiful Soup 560
26.2.2 Tag對象的name和string屬性. 562
26.2.3 讀寫標(biāo)簽屬性. 563
26.2.4 用BeautifulSoup分析京東首頁的HTML代碼. 564
26.2.5 通過回調(diào)函數(shù)過濾標(biāo)簽. 565
26.3 支持下載隊列的多線程網(wǎng)絡(luò)爬蟲. 566
26.4 小結(jié). 568
26.5 實戰(zhàn)與練習(xí). 568
第27章 網(wǎng)絡(luò)爬蟲框架:Scrapy 570
27.1 Scrapy基礎(chǔ)知識. 570
27.1.1 Scrapy簡介. 570
27.1.2 Scrapy安裝. 571
27.1.3 Scrapy Shell抓取Web資源. 571
27.1.4 XPath入門. 573
27.2 用Scrapy編寫網(wǎng)絡(luò)爬蟲. 574
27.2.1 創(chuàng)建和使用Scrapy工程. 574
27.2.2 在PyCharm中使用Scrapy 575
27.2.3 使用Scrapy抓取數(shù)據(jù)并通過XPath指定解析規(guī)則. 576
27.2.4 將抓取到的數(shù)據(jù)保存為多種格式的文件. 577
27.3 小結(jié). 578
27.4 實戰(zhàn)與練習(xí). 578
第六篇 Python項目實戰(zhàn)
第28章 Web項目實戰(zhàn):基于 Flask的美團(tuán)網(wǎng). 581
28.1 項目概述. 581
28.1.1 項目效果演示. 581
28.1.2 項目工程結(jié)構(gòu). 582
28.2 美團(tuán)網(wǎng)核心功能實現(xiàn). 583
28.2.1 設(shè)計服務(wù)API 583
28.2.2 用Ajax技術(shù)與服務(wù)端交互. 584
28.3 Python與微信支付. 585
28.3.1 微信支付要準(zhǔn)備的數(shù)據(jù)以及支付流程. 585
28.3.2 編寫支付核心類WXPay 586
28.4 小結(jié). 588
第29章 Web項目實戰(zhàn):基于Django的58同城. 589
29.1 項目效果演示. 589
29.2 操作MySQL數(shù)據(jù)庫. 590
29.3 賬號. 590
29.3.1 用戶注冊. 591
29.3.2 用戶登錄. 592
29.4 招聘頁面. 594
29.5 二手車頁面. 595
29.6 小結(jié). 597
第30章 網(wǎng)絡(luò)爬蟲實戰(zhàn):天氣預(yù)報服務(wù)API 598
30.1 項目效果演示. 598
30.2 建立MySQL數(shù)據(jù)庫. 599
30.3 抓取天氣預(yù)報數(shù)據(jù). 599
30.4 編寫天氣預(yù)報服務(wù)API 600
30.5 實現(xiàn)Web版天氣預(yù)報查詢客戶端. 601
30.6 小結(jié). 601
第31章 爬蟲項目實戰(zhàn):胸罩銷售數(shù)據(jù)分析. 602
31.1 項目效果演示. 602
31.2 天貓胸罩銷售數(shù)據(jù). 604
31.2.1 天貓胸罩銷售數(shù)據(jù)分析. 604
31.2.2 抓取天貓胸罩銷售數(shù)據(jù). 605
31.2.3 抓取胸罩商品列表. 605
31.2.4 將抓取的銷售數(shù)據(jù)保存到SQLite數(shù)據(jù)庫中. 606
31.3 京東胸罩銷售數(shù)據(jù). 607
31.3.1 京東胸罩銷售數(shù)據(jù)分析. 607
31.3.2 抓取京東胸罩銷售數(shù)據(jù). 608
31.4 數(shù)據(jù)清洗. 609
31.5 數(shù)據(jù)分析與可視化. 611
31.5.1 用SQL語句分析胸罩(按罩杯尺寸)的銷售比例. 611
31.5.2 用Pandas和Matplotlib對胸罩銷售比例進(jìn)行可視化分析. 612
31.5.3 按上胸圍分析胸罩的銷售比例. 613
31.5.4 罩杯和上胸圍綜合數(shù)據(jù)可視化分析. 614
31.5.5 統(tǒng)計哪一種顏色的胸罩賣得最好. 615
31.5.6 用盒狀圖與直方圖表示罩杯與上胸圍分布. 617
31.6 小結(jié). 618
第32章 GUI項目實戰(zhàn):動態(tài)修改域名指向的IP 619
32.1 搭建開發(fā)環(huán)境. 619
32.2 項目效果演示. 619
32.3 獲取公網(wǎng)IP 620
32.4 定時更新公網(wǎng)IP 621
32.5 更新域名對應(yīng)的IP 622
32.6 小結(jié). 623
第33章 游戲項目實戰(zhàn):俄羅斯方塊. 624
33.1 搭建開發(fā)環(huán)境. 624
33.2 項目效果演示. 624
33.3 用戶注冊. 625
33.4 用戶登錄. 626
33.5 游戲界面繪制和渲染. 628
33.6 用按鍵控制游戲. 629
33.7 播放背景音樂. 630
33.8 用戶積分. 631
33.9 小結(jié). 632