定 價(jià):¥49.80
作 者: | 呂云翔 |
出版社: | 人民郵電出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787115611901 | 出版時(shí)間: | 2023-07-01 | 包裝: | 平裝-膠訂 |
開(kāi)本: | 128開(kāi) | 頁(yè)數(shù): | 字?jǐn)?shù): |
目 錄
基礎(chǔ)篇
第 1章 Python基礎(chǔ)及網(wǎng)絡(luò)爬蟲(chóng) 1
1.1 了解Python語(yǔ)言 1
1.1.1 Python是什么 1
1.1.2 Python的應(yīng)用現(xiàn)狀 2
1.2 配置安裝Python開(kāi)發(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簡(jiǎn)介 6
1.3 Python基礎(chǔ)知識(shí) 7
1.3.1 “Hello,World!”與數(shù)據(jù)類(lèi)型 7
1.3.2 邏輯語(yǔ)句 12
1.3.3 Python中的函數(shù)與類(lèi) 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 編寫(xiě)第 一個(gè)爬蟲(chóng)程序 19
1.5.2 對(duì)爬蟲(chóng)的思考 21
1.6 分析網(wǎng)站 22
1.6.1 robots.txt與Sitemap簡(jiǎn)介 22
1.6.2 網(wǎng)站技術(shù)分析 24
1.6.3 網(wǎng)站所有者信息分析 25
1.6.4 使用開(kāi)發(fā)者工具檢查目標(biāo)網(wǎng)頁(yè) 26
章節(jié)實(shí)訓(xùn):Python環(huán)境的配置與爬蟲(chóng)的運(yùn)行 28
思考與練習(xí) 28
第 2章 靜態(tài)網(wǎng)頁(yè)抓取 29
2.1 從抓取開(kāi)始 29
2.2 正則表達(dá)式 30
2.2.1 什么是正則表達(dá)式 30
2.2.2 正則表達(dá)式的簡(jiǎn)單使用 31
2.3 BeautifulSoup爬蟲(chóng) 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 遍歷頁(yè)面 40
2.5.1 抓取下一個(gè)頁(yè)面 40
2.5.2 完成爬蟲(chóng) 41
2.6 使用API 42
2.6.1 API簡(jiǎn)介 42
2.6.2 API使用示例 44
章節(jié)實(shí)訓(xùn):?jiǎn)袅▎袅ㄖ辈ラg信息抓取練習(xí) 47
思考與練習(xí) 47
第3章 數(shù)據(jù)存儲(chǔ) 48
3.1 Python中的文件 48
3.1.1 Python中的文件讀寫(xiě) 48
3.1.2 對(duì)象序列化 50
3.2 Python中的字符串 50
3.3 Python中的圖片 51
3.3.1 PIL與Pillow模塊 51
3.3.2 Python與OpenCV簡(jiǎn)介 53
3.4 CSV文件 54
3.4.1 CSV簡(jiǎn)介 54
3.4.2 CSV的讀寫(xiě) 54
3.5 數(shù)據(jù)庫(kù)的使用 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 其他類(lèi)型的文檔 61
章節(jié)實(shí)訓(xùn):使用Python 3讀寫(xiě)SQLite 3數(shù)據(jù)庫(kù) 63
思考與練習(xí) 64
進(jìn)階篇
第4章 JavaScript與動(dòng)態(tài)內(nèi)容 65
4.1 JavaScript與AJAX技術(shù) 65
4.1.1 JavaScript語(yǔ)言 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)渲染頁(yè)面 76
4.3.2 使用Selenium 76
4.3.3 PyV8與Splash 81
章節(jié)實(shí)訓(xùn):抓取人民郵電出版社熱銷(xiāo)圖書(shū)信息 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簡(jiǎn)介 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):通過(guò)Selenium模擬登錄Gitee并保存Cookie 99
思考與練習(xí) 99
第6章 爬蟲(chóng)數(shù)據(jù)的分析與處理 100
6.1 Python與文本分析 100
6.1.1 文本分析簡(jiǎn)介 100
6.1.2 jieba與SnowNLP 101
6.1.3 NLTK 104
6.1.4 文本分類(lèi)與聚類(lèi) 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):美國(guó)新冠疫情每日新增人數(shù)的可視化 119
思考與練習(xí) 119
提高篇
第7章 爬蟲(chóng)的靈活性和多樣性 120
7.1 爬蟲(chóng)的靈活性——以微信數(shù)據(jù)抓取為例 120
7.1.1 用Selenium抓取網(wǎng)頁(yè)版微信數(shù)據(jù) 120
7.1.2 基于Python的微信API工具 123
7.2 爬蟲(chóng)的多樣性 125
7.2.1 在BeautifulSoup和XPath之外 125
7.2.2 在線爬蟲(chóng)應(yīng)用平臺(tái) 127
7.2.3 使用urllib 129
7.3 爬蟲(chóng)的部署和管理 134
7.3.1 使用服務(wù)器部署爬蟲(chóng) 134
7.3.2 本地爬蟲(chóng)程序的編寫(xiě) 137
7.3.3 爬蟲(chóng)的部署 140
7.3.4 實(shí)時(shí)查看運(yùn)行結(jié)果 141
7.3.5 使用框架管理爬蟲(chóng) 142
章節(jié)實(shí)訓(xùn):基于PyQuery抓取菜鳥(niǎo)教程 144
思考與練習(xí) 145
第8章 Selenium模擬瀏覽器與網(wǎng)站測(cè)試 146
8.1 測(cè)試 146
8.1.1 什么是測(cè)試 146
8.1.2 什么是TDD 146
8.2 Python的單元測(cè)試 147
8.2.1 使用unittest 147
8.2.2 其他方法 149
8.3 使用Python網(wǎng)絡(luò)爬蟲(chóng)測(cè)試網(wǎng)站 150
8.4 使用Selenium測(cè)試 152
8.4.1 使用Selenium測(cè)試常用的網(wǎng)站交互 152
8.4.2 結(jié)合Selenium進(jìn)行單元測(cè)試 153
章節(jié)實(shí)訓(xùn):使用Selenium抓取百度搜索引擎中關(guān)于“爬蟲(chóng)”的結(jié)果 154
思考與練習(xí) 155
第9章 爬蟲(chóng)框架Scrapy與反爬蟲(chóng) 156
9.1 爬蟲(chóng)框架 156
9.1.1 Scrapy簡(jiǎn)介 156
9.1.2 安裝與學(xué)習(xí)Scrapy 157
9.1.3 Scrapy爬蟲(chóng)編寫(xiě) 159
9.1.4 其他爬蟲(chóng)框架介紹 161
9.2 網(wǎng)站反爬蟲(chóng) 162
9.2.1 反爬蟲(chóng)策略簡(jiǎn)介 162
9.2.2 偽裝headers 163
9.2.3 代理IP的使用 165
9.2.4 控制訪問(wèn)頻率 168
章節(jié)實(shí)訓(xùn):使用“反反爬蟲(chóng)”策略抓取某日?qǐng)?bào)網(wǎng)頭版的標(biāo)題內(nèi)容 168
思考與練習(xí) 169
實(shí)戰(zhàn)篇
第 10章 實(shí)戰(zhàn):保存感興趣的圖片 170
10.1 豆瓣網(wǎng)分析與爬蟲(chóng)設(shè)計(jì) 170
10.1.1 從需求出發(fā) 170
10.1.2 處理登錄問(wèn)題 171
10.2 編寫(xiě)爬蟲(chóng)程序 173
10.2.1 爬蟲(chóng)腳本 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)頁(yè)分析 179
11.1.2 代碼編寫(xiě) 181
11.1.3 運(yùn)行并查看結(jié)果 183
11.2 繪制熱力圖 184
第 12章 實(shí)戰(zhàn):北京大興國(guó)際機(jī)場(chǎng)航班出發(fā)時(shí)間數(shù)據(jù)抓取 189
12.1 程序設(shè)計(jì) 189
12.1.1 網(wǎng)頁(yè)分析 189
12.1.2 將數(shù)據(jù)保存到數(shù)據(jù)庫(kù) 190
12.2 爬蟲(chóng)編寫(xiě) 191
12.2.1 前置準(zhǔn)備 191
12.2.2 代碼編寫(xiě) 192
12.2.3 運(yùn)行并查看結(jié)果 195
參考文獻(xiàn) 196