定 價(jià):¥49.80
作 者: | 呂云翔 |
出版社: | 人民郵電出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787115611901 | 出版時(shí)間: | 2023-07-01 | 包裝: | 平裝-膠訂 |
開本: | 128開 | 頁數(shù): | 字?jǐn)?shù): |
目 錄
基礎(chǔ)篇
第 1章 Python基礎(chǔ)及網(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上安裝 3
1.2.2 在Ubuntu和macOS上安裝 3
1.2.3 IDE的使用:以PyCharm為例 4
1.2.4 Jupyter Notebook簡介 6
1.3 Python基礎(chǔ)知識(shí) 7
1.3.1 “Hello,World!”與數(shù)據(jù)類型 7
1.3.2 邏輯語句 12
1.3.3 Python中的函數(shù)與類 14
1.3.4 更深入了解Python 16
1.4 互聯(lián)網(wǎng)、HTTP與HTML 16
1.4.1 互聯(lián)網(wǎng)與HTTP 16
1.4.2 HTML 17
1.5 Hello Spider 19
1.5.1 編寫第 一個(gè)爬蟲程序 19
1.5.2 對爬蟲的思考 21
1.6 分析網(wǎng)站 22
1.6.1 robots.txt與Sitemap簡介 22
1.6.2 網(wǎng)站技術(shù)分析 24
1.6.3 網(wǎng)站所有者信息分析 25
1.6.4 使用開發(fā)者工具檢查目標(biāo)網(wǎng)頁 26
章節(jié)實(shí)訓(xùn):Python環(huán)境的配置與爬蟲的運(yùn)行 28
思考與練習(xí) 28
第 2章 靜態(tài)網(wǎng)頁抓取 29
2.1 從抓取開始 29
2.2 正則表達(dá)式 30
2.2.1 什么是正則表達(dá)式 30
2.2.2 正則表達(dá)式的簡單使用 31
2.3 BeautifulSoup爬蟲 33
2.3.1 安裝BeautifulSoup 33
2.3.2 BeautifulSoup的基本用法 35
2.4 XPath與lxml 37
2.4.1 XPath 37
2.4.2 lxml與XPath的使用 38
2.5 遍歷頁面 40
2.5.1 抓取下一個(gè)頁面 40
2.5.2 完成爬蟲 41
2.6 使用API 42
2.6.1 API簡介 42
2.6.2 API使用示例 44
章節(jié)實(shí)訓(xùn):嗶哩嗶哩直播間信息抓取練習(xí) 47
思考與練習(xí) 47
第3章 數(shù)據(jù)存儲(chǔ) 48
3.1 Python中的文件 48
3.1.1 Python中的文件讀寫 48
3.1.2 對象序列化 50
3.2 Python中的字符串 50
3.3 Python中的圖片 51
3.3.1 PIL與Pillow模塊 51
3.3.2 Python與OpenCV簡介 53
3.4 CSV文件 54
3.4.1 CSV簡介 54
3.4.2 CSV的讀寫 54
3.5 數(shù)據(jù)庫的使用 56
3.5.1 MySQL的使用 56
3.5.2 SQLite 3的使用 57
3.5.3 SQLAlchemy的使用 58
3.5.4 Redis的使用 59
3.5.5 MongoDB的使用 60
3.6 其他類型的文檔 61
章節(jié)實(shí)訓(xùn):使用Python 3讀寫SQLite 3數(shù)據(jù)庫 63
思考與練習(xí) 64
進(jìn)階篇
第4章 JavaScript與動(dòng)態(tài)內(nèi)容 65
4.1 JavaScript與AJAX技術(shù) 65
4.1.1 JavaScript語言 65
4.1.2 AJAX 68
4.2 抓取AJAX數(shù)據(jù) 69
4.2.1 分析數(shù)據(jù) 69
4.2.2 數(shù)據(jù)提取 72
4.3 抓取動(dòng)態(tài)內(nèi)容 76
4.3.1 動(dòng)態(tài)渲染頁面 76
4.3.2 使用Selenium 76
4.3.3 PyV8與Splash 81
章節(jié)實(shí)訓(xùn):抓取人民郵電出版社熱銷圖書信息 83
思考與練習(xí) 84
第5章 模擬登錄與驗(yàn)證碼 85
5.1 表單 85
5.1.1 表單與POST 85
5.1.2 POST發(fā)送表單數(shù)據(jù) 87
5.2 Cookie 89
5.2.1 Cookie簡介 89
5.2.2 在Python中Cookie的使用 90
5.3 模擬登錄網(wǎng)站 91
5.3.1 分析網(wǎng)站 91
5.3.2 Cookie方法的模擬登錄 92
5.4 驗(yàn)證碼 94
5.4.1 圖片驗(yàn)證碼 94
5.4.2 滑動(dòng)驗(yàn)證 96
章節(jié)實(shí)訓(xùn):通過Selenium模擬登錄Gitee并保存Cookie 99
思考與練習(xí) 99
第6章 爬蟲數(shù)據(jù)的分析與處理 100
6.1 Python與文本分析 100
6.1.1 文本分析簡介 100
6.1.2 jieba與SnowNLP 101
6.1.3 NLTK 104
6.1.4 文本分類與聚類 106
6.2 數(shù)據(jù)處理與科學(xué)計(jì)算 108
6.2.1 從MATLAB到Python 108
6.2.2 NumPy 108
6.2.3 Pandas 112
6.2.4 Matplotlib 116
6.2.5 Scipy與SymPy 118
章節(jié)實(shí)訓(xùn):美國新冠疫情每日新增人數(shù)的可視化 119
思考與練習(xí) 119
提高篇
第7章 爬蟲的靈活性和多樣性 120
7.1 爬蟲的靈活性——以微信數(shù)據(jù)抓取為例 120
7.1.1 用Selenium抓取網(wǎng)頁版微信數(shù)據(jù) 120
7.1.2 基于Python的微信API工具 123
7.2 爬蟲的多樣性 125
7.2.1 在BeautifulSoup和XPath之外 125
7.2.2 在線爬蟲應(yīng)用平臺(tái) 127
7.2.3 使用urllib 129
7.3 爬蟲的部署和管理 134
7.3.1 使用服務(wù)器部署爬蟲 134
7.3.2 本地爬蟲程序的編寫 137
7.3.3 爬蟲的部署 140
7.3.4 實(shí)時(shí)查看運(yùn)行結(jié)果 141
7.3.5 使用框架管理爬蟲 142
章節(jié)實(shí)訓(xùn):基于PyQuery抓取菜鳥教程 144
思考與練習(xí) 145
第8章 Selenium模擬瀏覽器與網(wǎng)站測試 146
8.1 測試 146
8.1.1 什么是測試 146
8.1.2 什么是TDD 146
8.2 Python的單元測試 147
8.2.1 使用unittest 147
8.2.2 其他方法 149
8.3 使用Python網(wǎng)絡(luò)爬蟲測試網(wǎng)站 150
8.4 使用Selenium測試 152
8.4.1 使用Selenium測試常用的網(wǎng)站交互 152
8.4.2 結(jié)合Selenium進(jìn)行單元測試 153
章節(jié)實(shí)訓(xùn):使用Selenium抓取百度搜索引擎中關(guān)于“爬蟲”的結(jié)果 154
思考與練習(xí) 155
第9章 爬蟲框架Scrapy與反爬蟲 156
9.1 爬蟲框架 156
9.1.1 Scrapy簡介 156
9.1.2 安裝與學(xué)習(xí)Scrapy 157
9.1.3 Scrapy爬蟲編寫 159
9.1.4 其他爬蟲框架介紹 161
9.2 網(wǎng)站反爬蟲 162
9.2.1 反爬蟲策略簡介 162
9.2.2 偽裝headers 163
9.2.3 代理IP的使用 165
9.2.4 控制訪問頻率 168
章節(jié)實(shí)訓(xùn):使用“反反爬蟲”策略抓取某日報(bào)網(wǎng)頭版的標(biāo)題內(nèi)容 168
思考與練習(xí) 169
實(shí)戰(zhàn)篇
第 10章 實(shí)戰(zhàn):保存感興趣的圖片 170
10.1 豆瓣網(wǎng)分析與爬蟲設(shè)計(jì) 170
10.1.1 從需求出發(fā) 170
10.1.2 處理登錄問題 171
10.2 編寫爬蟲程序 173
10.2.1 爬蟲腳本 173
10.2.2 程序分析 176
10.2.3 運(yùn)行并查看結(jié)果 178
第 11章 實(shí)戰(zhàn):抓取二手房數(shù)據(jù)并繪制熱力圖 179
11.1 數(shù)據(jù)抓取 179
11.1.1 網(wǎng)頁分析 179
11.1.2 代碼編寫 181
11.1.3 運(yùn)行并查看結(jié)果 183
11.2 繪制熱力圖 184
第 12章 實(shí)戰(zhàn):北京大興國際機(jī)場航班出發(fā)時(shí)間數(shù)據(jù)抓取 189
12.1 程序設(shè)計(jì) 189
12.1.1 網(wǎng)頁分析 189
12.1.2 將數(shù)據(jù)保存到數(shù)據(jù)庫 190
12.2 爬蟲編寫 191
12.2.1 前置準(zhǔn)備 191
12.2.2 代碼編寫 192
12.2.3 運(yùn)行并查看結(jié)果 195
參考文獻(xiàn) 196