Python網(wǎng)絡(luò)爬蟲與數(shù)據(jù)采集
定 價:59.8 元
- 作者:呂云翔 張揚
- 出版時間:2021/8/1
- ISBN:9787115562081
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:128開
本書的主旨是介紹如何結(jié)合Python進行網(wǎng)絡(luò)爬蟲程序的開發(fā),從Python語言的基本特性入手,詳細介紹了Python爬蟲開發(fā)的各個方面,涉及包括HTTP、HTML、JavaScript、正則表達式、自然語言處理、數(shù)據(jù)科學(xué)等不同領(lǐng)域的內(nèi)容。全書共分為15章,包括了Python基礎(chǔ)知識、網(wǎng)站分析、網(wǎng)頁解析、Python文件讀寫、Python與數(shù)據(jù)庫、AJAX技術(shù)、模擬登錄、文本與數(shù)據(jù)分析、網(wǎng)站測試、Scrapy爬蟲框架、爬蟲性能等多個主題。內(nèi)容覆蓋網(wǎng)絡(luò)抓取與爬蟲編程中的主要知識和技術(shù),在重視理論基礎(chǔ)的前提下,從實用性和豐富度出發(fā),結(jié)合實例演示了爬蟲編寫的核心流程。
本書適合Python語言初學(xué)者、網(wǎng)絡(luò)爬蟲技術(shù)愛好者、數(shù)據(jù)分析從業(yè)人士以及高等院校計算機科學(xué)、軟件工程等相關(guān)專業(yè)的師生閱讀。
?內(nèi)容全面,結(jié)構(gòu)清晰:本書詳細介紹了網(wǎng)絡(luò)爬蟲技術(shù)的方方面面,討論了數(shù)據(jù)抓取、數(shù)據(jù)處理和數(shù)據(jù)分析的整個流程。全書結(jié)構(gòu)清晰,堅持理論知識與實踐操作結(jié)合。
1.循序漸進,生動簡潔:從簡單的Python程序示例開始,在網(wǎng)絡(luò)爬蟲的核心主題之下一步步深入,兼顧內(nèi)容的廣度與深度。在行文中,使用生動簡潔的闡述方式,力爭詳略得當(dāng)。
2.示例豐富,實戰(zhàn)性強:網(wǎng)絡(luò)爬蟲是實踐性、操作性非常強的技術(shù),本書將提供豐富的代碼來作為讀者的參考,同時對必要的術(shù)語和代碼進行解釋。從生活實際出發(fā),選取實用性、趣味性兼具的主題進行網(wǎng)絡(luò)爬蟲實踐。
3.內(nèi)容新穎,不落窠臼:本書中程序代碼均采用的Python 3版本,并使用了目前主流的各種Python框架和庫來編寫程序,注重內(nèi)容的時效性。網(wǎng)絡(luò)爬蟲需要動手實踐才能真正理解,本書程度地保證了代碼與程序示例的易用性和易讀性。
呂云翔,比利時布魯塞爾大學(xué)應(yīng)用科學(xué)學(xué)院應(yīng)用信息技術(shù)專業(yè)碩士、經(jīng)濟學(xué)院工商管理專業(yè)碩士。具有多年的軟件開發(fā)、項目管理、計算機教學(xué)經(jīng)驗。對IT行業(yè)具有較全面的認識。2003至今任北航軟件學(xué)院副教授。研究領(lǐng)域包括:軟件工程 IT項目管理。
第1章 Python與網(wǎng)絡(luò)爬蟲 1
1.1 Python簡介 1
1.1.1 什么是Python 1
1.1.2 Python的應(yīng)用現(xiàn)狀 2
1.2 Python的安裝與開發(fā)環(huán)境配置 3
1.2.1 在Windows操作系統(tǒng)上安裝 3
1.2.2 在Ubuntu和macOS操作系統(tǒng)上安裝 4
1.2.3 PyCharm的使用 5
1.2.4 Jupyter Notebook 9
1.3 Python基本語法 11
1.3.1 HelloWorld與數(shù)據(jù)類型 11
1.3.2 邏輯語句 17
1.3.3 Python中的函數(shù)與類 20
1.3.4 Python從0到1 21
1.4 互聯(lián)網(wǎng)與HTTP、HTML 22
1.4.1 互聯(lián)網(wǎng)與HTTP 22
1.4.2 HTML 23
1.5 Hello, Spider! 25
1.5.1 個爬蟲程序 25
1.5.2 思考我們的爬蟲 27
1.6 調(diào)研網(wǎng)站 27
1.6.1 網(wǎng)站的robots.txt與Sitemap 27
1.6.2 查看網(wǎng)站所用技術(shù) 30
1.6.3 查看網(wǎng)站所有者信息 31
1.6.4 使用開發(fā)者工具檢查網(wǎng)頁 32
1.7 本章小結(jié) 35
第2章 數(shù)據(jù)采集 36
2.1 從抓取開始 36
2.2 正則表達式 37
2.2.1 初見正則表達式 37
2.2.2 正則表達式的簡單使用 38
2.3 BeautifulSoup 41
2.3.1 BeautifulSoup的安裝 41
2.3.2 BeautifulSoup的基本使用方法 43
2.4 XPath與lxml 46
2.4.1 XPath 46
2.4.2 lxml與XPath的使用方法 47
2.5 遍歷頁面 49
2.5.1 抓取下一個頁面 49
2.5.2 完成爬蟲 50
2.6 API 52
2.6.1 API簡介 52
2.6.2 API使用示例 54
2.7 本章小結(jié) 57
第3章 文件與數(shù)據(jù)存儲 58
3.1 Python中的文件 58
3.1.1 基本的文件讀寫 58
3.1.2 序列化 60
3.2 字符串 61
3.3 Python與圖片 62
3.3.1 PIL與Pillow 62
3.3.2 OpenCV簡介 64
3.4 CSV文件 65
3.4.1 CSV簡介 65
3.4.2 CSV的讀寫 65
3.5 使用數(shù)據(jù)庫 67
3.5.1 使用MySQL 67
3.5.2 使用SQLite3 68
3.5.3 使用SQLAlchemy 70
3.5.4 使用Redis 71
3.6 其他類型的文檔 72
3.7 本章小結(jié) 77
第4章 JavaScript與動態(tài)內(nèi)容 78
4.1 JavaScript與Ajax技術(shù) 78
4.1.1 JavaScript簡介 78
4.1.2 Ajax技術(shù) 81
4.2 抓取Ajax數(shù)據(jù) 82
4.2.1 分析數(shù)據(jù) 82
4.2.2 提取數(shù)據(jù) 86
4.3 抓取動態(tài)內(nèi)容 92
4.3.1 動態(tài)渲染頁面 92
4.3.2 使用Selenium 92
4.3.3 PyV8與Splash 98
4.4 本章小結(jié) 101
第5章 表單與模擬登錄 102
5.1 表單 102
5.1.1 表單與POST 102
5.1.2 POST發(fā)送表單數(shù)據(jù) 104
5.2 Cookie 106
5.2.1 Cookie簡介 106
5.2.2 在Python中使用Cookie 108
5.3 模擬登錄網(wǎng)站 110
5.3.1 分析網(wǎng)站 110
5.3.2 通過Cookie模擬登錄 111
5.4 驗證碼 114
5.4.1 圖片驗證碼 114
5.4.2 滑動驗證 116
5.5 本章小結(jié) 120
第6章 數(shù)據(jù)的進一步處理 121
6.1 Python與文本分析 121
6.1.1 文本分析簡介 121
6.1.2 jieba與SnowNLP 122
6.1.3 NLTK 125
6.1.4 文本分類與聚類 128
6.2 數(shù)據(jù)處理與科學(xué)計算 130
6.2.1 從MATLAB到Python 130
6.2.2 NumPy 131
6.2.3 pandas 135
6.2.4 Matplotlib 140
6.2.5 SciPy與SymPy 143
6.3 本章小結(jié) 144
第7章 更靈活的爬蟲 145
7.1 更靈活的爬蟲——以微信數(shù)據(jù)抓取為例 145
7.1.1 用Selenium抓取Web微信信息 145
7.1.2 基于Python的微信API工具 149
7.2 多樣的爬蟲 151
7.2.1 在BeautifulSoup和XPath之外 151
7.2.2 在線爬蟲應(yīng)用平臺 154
7.2.3 使用urllib 156
7.3 爬蟲的部署和管理 163
7.3.1 配置遠程主機 163
7.3.2 編寫本地爬蟲 165
7.3.3 部署爬蟲 169
7.3.4 查看運行結(jié)果 170
7.3.5 使用爬蟲管理框架 171
7.4 本章小結(jié) 174
第8章 模擬瀏覽器與網(wǎng)站測試 175
8.1 關(guān)于測試 175
8.1.1 測試簡介 175
8.1.2 TDD 175
8.2 Python的單元測試 176
8.2.1 使用unittest 176
8.2.2 其他方法 178
8.3 使用Python爬蟲測試網(wǎng)站 179
8.4 使用Selenium測試 181
8.4.1 Selenium測試常用的網(wǎng)站交互 182
8.4.2 結(jié)合Selenium進行單元測試 183
8.5 本章小結(jié) 184
第9章 更強大的爬蟲 185
9.1 爬蟲框架 185
9.1.1 Scrapy簡介 185
9.1.2 Scrapy安裝與入門 186
9.1.3 編寫Scrapy爬蟲 189
9.1.4 其他爬蟲框架 191
9.2 網(wǎng)站反爬蟲 192
9.2.1 反爬蟲的策略 192
9.2.2 偽裝headers 193
9.2.3 使用代理IP地址 196
9.2.4 修改訪問頻率 199
9.3 多進程與分布式 199
9.3.1 多進程編程與爬蟲抓取 199
9.3.2 分布式爬蟲 201
9.4 本章小結(jié) 202
第10章 實戰(zhàn):購物網(wǎng)站評論抓取 203
10.1 查看網(wǎng)絡(luò)數(shù)據(jù) 203
10.2 編寫爬蟲 206
10.3 本章小結(jié) 211
第11章 實戰(zhàn):爬蟲數(shù)據(jù)的深入分析與數(shù)據(jù)處理 212
11.1 明確目標(biāo)與數(shù)據(jù)準(zhǔn)備 212
11.1.1 明確目標(biāo) 212
11.1.2 數(shù)據(jù)準(zhǔn)備 212
11.1.3 工具選擇 213
11.2 初步分析 214
11.2.1 用戶角度分析 214
11.2.2 電影角度分析 217
11.3 電影推薦 220
11.4 本章小結(jié) 221
第12章 實戰(zhàn):抓取商品價格信息 222
12.1 抓取商品歷史價格 222
12.1.1 網(wǎng)頁分析 222
12.1.2 編寫爬蟲 225
12.1.3 運行結(jié)果 230
12.2 本章小結(jié) 231
第13章 實戰(zhàn):模擬登錄爬蟲 232
13.1 模擬登錄POJ提交代碼并抓取評測結(jié)果 232
13.1.1 網(wǎng)頁請求分類 232
13.1.2 網(wǎng)頁分析 233
13.1.3 編寫爬蟲 235
13.1.4 運行結(jié)果 238
13.2 本章小結(jié) 238
第14章 實戰(zhàn):音樂評論內(nèi)容的抓取與分析 239
14.1 jieba庫 239
14.2 wordcloud庫 239
14.3 抓取音樂的評論內(nèi)容 240
14.3.1 網(wǎng)頁分析 240
14.3.2 編寫爬蟲 241
14.3.3 運行結(jié)果 243
14.4 本章小結(jié) 244
第15章 實戰(zhàn):異步爬蟲程序?qū)嵺` 245
15.1 項目分析 245
15.2 數(shù)據(jù)存儲 245
15.3 頁面下載器 247
15.3.1 網(wǎng)絡(luò)請求 248
15.3.2 頁面解碼 249
15.4 生產(chǎn)者—消費者模型 250
15.4.1 調(diào)度器 250
15.4.2 消費者 251
15.4.3 生產(chǎn)者 253
15.5 客戶端界面設(shè)計 254
15.5.1 首頁 255
15.5.2 搜索結(jié)果頁 255
15.5.3 新聞詳情頁 256
15.5.4 主窗口和運行效果 257
15.6 本章小結(jié) 259