Python網(wǎng)絡(luò)爬蟲(chóng)項(xiàng)目式教程
定 價(jià):56 元
當(dāng)前圖書(shū)已被 8 所學(xué)校薦購(gòu)過(guò)!
查看明細(xì)
- 作者:錢(qián)游
- 出版時(shí)間:2023/8/1
- ISBN:9787121461972
- 出 版 社:電子工業(yè)出版社
- 中圖法分類(lèi):TP311.561
- 頁(yè)碼:286
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
網(wǎng)絡(luò)爬蟲(chóng)是按照一定規(guī)則自動(dòng)請(qǐng)求服務(wù)器上的網(wǎng)頁(yè),并采集網(wǎng)頁(yè)數(shù)據(jù)的一種程序或腳本,它可以代替人進(jìn)行數(shù)據(jù)采集,也可以自動(dòng)采集網(wǎng)頁(yè)數(shù)據(jù)、高效利用互聯(lián)網(wǎng)數(shù)據(jù),因此在市場(chǎng)應(yīng)用中占據(jù)了重要位置。本書(shū)以Windows操作系統(tǒng)為主要開(kāi)發(fā)平臺(tái),系統(tǒng)、全面地講解了網(wǎng)絡(luò)爬蟲(chóng)的相關(guān)知識(shí)。本書(shū)的主要內(nèi)容包括保存服務(wù)器網(wǎng)頁(yè)到本地、使用正則表達(dá)式提取網(wǎng)頁(yè)內(nèi)容、爬取豆瓣電影TOP250欄目、使用requests庫(kù)爬取電影網(wǎng)站、通過(guò)模擬用戶(hù)登錄爬取網(wǎng)站、使用Scrapy框架爬取圖片網(wǎng)站、使用分布式爬蟲(chóng)爬取騰訊招聘頻道,主要知識(shí)點(diǎn)囊括網(wǎng)絡(luò)爬蟲(chóng)基礎(chǔ)知識(shí)、網(wǎng)頁(yè)請(qǐng)求原理、抓取靜態(tài)網(wǎng)頁(yè)數(shù)據(jù)、解析網(wǎng)頁(yè)數(shù)據(jù)、抓取動(dòng)態(tài)網(wǎng)頁(yè)數(shù)據(jù)、網(wǎng)絡(luò)爬蟲(chóng)的優(yōu)化、數(shù)據(jù)的持久化存儲(chǔ)、識(shí)別驗(yàn)證碼、搭建網(wǎng)絡(luò)爬蟲(chóng)框架、網(wǎng)絡(luò)分布式爬蟲(chóng)Scrapy-Redis的開(kāi)發(fā)和部署等。本書(shū)內(nèi)容通俗易懂,案例豐富,實(shí)用性強(qiáng),特別適合Python語(yǔ)言的基礎(chǔ)學(xué)習(xí)者和進(jìn)階學(xué)習(xí)者,也適合Python程序員、爬蟲(chóng)工程師等編程愛(ài)好者。本書(shū)不僅可以作為高校教材,也可以作為相關(guān)培訓(xùn)機(jī)構(gòu)的教材,還可以作為廣大網(wǎng)絡(luò)爬蟲(chóng)開(kāi)發(fā)者的參考書(shū)。此外,本書(shū)開(kāi)發(fā)了豐富的教學(xué)資源庫(kù),并免費(fèi)提供所有素材。
錢(qián)游,副教授,重慶市名師工作室學(xué)員,主要從事人工智能、數(shù)據(jù)挖掘研究。主持市級(jí)項(xiàng)目2項(xiàng)、校級(jí)在線(xiàn)課程1門(mén)。發(fā)表論文16篇,其中中文核心期刊論文3篇,教研教改論文5篇。編寫(xiě)教材5部,獲國(guó)家級(jí)實(shí)用新型專(zhuān)利5項(xiàng),軟件著作權(quán)4項(xiàng),軟件開(kāi)發(fā)社會(huì)服務(wù)項(xiàng)目近30項(xiàng),榮獲市級(jí)教學(xué)成果獎(jiǎng)、全國(guó)嵌入式競(jìng)賽優(yōu)秀指導(dǎo)老師獎(jiǎng)、全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽(重慶賽區(qū)"TI杯”)一等獎(jiǎng)等十余項(xiàng)獎(jiǎng)項(xiàng)。
目 錄
項(xiàng)目一 保存服務(wù)器網(wǎng)頁(yè)到本地 1
任務(wù)1 認(rèn)識(shí)網(wǎng)絡(luò)爬蟲(chóng) 2
任務(wù)演示 2
知識(shí)準(zhǔn)備 2
1. 初步認(rèn)識(shí)網(wǎng)絡(luò)爬蟲(chóng) 2
2. 網(wǎng)絡(luò)爬蟲(chóng)的結(jié)構(gòu)及其工作原理 4
3. 爬蟲(chóng)技術(shù)的風(fēng)險(xiǎn)與Robots協(xié)議 5
4. Python的安裝 6
5. Pygame的簡(jiǎn)單使用 11
任務(wù)實(shí)施 12
任務(wù)拓展 13
1. 反爬蟲(chóng)的目的與手段 13
2. Windows環(huán)境下的MongoDB數(shù)據(jù)庫(kù)安裝和配置 14
3. Linux環(huán)境下的MongoDB數(shù)據(jù)庫(kù)安裝和配置 16
任務(wù)2 將請(qǐng)求到的網(wǎng)頁(yè)保存到本地 18
任務(wù)演示 18
知識(shí)準(zhǔn)備 19
1. 使用urllib請(qǐng)求網(wǎng)頁(yè) 19
2. 安裝和配置MySQL數(shù)據(jù)庫(kù) 20
任務(wù)實(shí)施 28
任務(wù)拓展 29
小結(jié) 30
復(fù)習(xí)題 31
項(xiàng)目二 使用正則表達(dá)式提取網(wǎng)頁(yè)內(nèi)容 32
任務(wù)1 在網(wǎng)頁(yè)上展示偉大抗疫精神 33
任務(wù)演示 33
知識(shí)準(zhǔn)備 33
1. HTML基礎(chǔ)知識(shí) 33
2. CSS基礎(chǔ)知識(shí) 35
3. CSS樣式選擇器 38
任務(wù)實(shí)施 44
任務(wù)拓展 45
1. JavaScript的引入 45
2. JavaScript的基本語(yǔ)法 48
任務(wù)2 使用正則表達(dá)式提取文本中的指定內(nèi)容 53
任務(wù)演示 53
知識(shí)準(zhǔn)備 53
1. 正則表達(dá)式的基本語(yǔ)法 54
2. 正則表達(dá)式的使用 57
任務(wù)實(shí)施 61
任務(wù)拓展 62
小結(jié) 63
復(fù)習(xí)題 63
項(xiàng)目三 爬取豆瓣電影TOP250欄目 65
任務(wù)1 使用urllib框架請(qǐng)求網(wǎng)頁(yè) 66
任務(wù)演示 66
知識(shí)準(zhǔn)備 66
1. 網(wǎng)絡(luò)爬蟲(chóng)開(kāi)發(fā)的基本流程 66
2. urllib框架的基本模塊 66
3. 字符的編碼和解碼 74
任務(wù)實(shí)施 76
1. URL分析 76
2. 編碼規(guī)范 77
3. 爬取豆瓣電影TOP250欄目 77
任務(wù)拓展 81
任務(wù)2 使用BeautifulSoup4解析網(wǎng)頁(yè) 82
任務(wù)演示 82
知識(shí)準(zhǔn)備 82
1. BeautifulSoup4的四個(gè)對(duì)象 82
2. 文檔的遍歷 86
3. 文檔的搜索 91
任務(wù)實(shí)施 95
任務(wù)拓展 97
任務(wù)3 使用XPath解析網(wǎng)頁(yè)數(shù)據(jù) 99
任務(wù)演示 99
知識(shí)準(zhǔn)備 99
任務(wù)實(shí)施 105
任務(wù)拓展 106
任務(wù)4 數(shù)據(jù)的持久化存儲(chǔ) 108
任務(wù)演示 108
知識(shí)準(zhǔn)備 108
任務(wù)實(shí)施 116
任務(wù)拓展 118
小結(jié) 121
復(fù)習(xí)題 121
項(xiàng)目四 使用requests庫(kù)爬取電影網(wǎng)站 123
任務(wù)1 使用requests庫(kù)請(qǐng)求網(wǎng)頁(yè) 124
任務(wù)演示 124
知識(shí)準(zhǔn)備 124
1. requests庫(kù)的安裝 124
2. GET請(qǐng)求 125
3. POST請(qǐng)求 126
任務(wù)實(shí)施 129
任務(wù)拓展 131
任務(wù)2 使用requests-html庫(kù)解析網(wǎng)頁(yè) 136
任務(wù)演示 136
知識(shí)準(zhǔn)備 136
1. requests-html庫(kù)的新功能 136
2. requests-html庫(kù)的安裝 136
3. requests-html庫(kù)的使用 137
任務(wù)實(shí)施 139
任務(wù)拓展 142
1. 網(wǎng)絡(luò)爬蟲(chóng)的優(yōu)化 142
2. 將請(qǐng)求到的數(shù)據(jù)保存到MySQL數(shù)據(jù)庫(kù)中 145
小結(jié) 149
復(fù)習(xí)題 149
項(xiàng)目五 通過(guò)模擬用戶(hù)登錄爬取網(wǎng)站 151
任務(wù)1 模擬用戶(hù)登錄 152
任務(wù)演示 152
知識(shí)準(zhǔn)備 152
1. 使用ddddocr模塊識(shí)別驗(yàn)證碼 153
2. 使用在線(xiàn)平臺(tái)進(jìn)行打碼 153
任務(wù)實(shí)施 160
1. 對(duì)古詩(shī)文網(wǎng)的登錄驗(yàn)證碼進(jìn)行驗(yàn)證 160
2. 實(shí)現(xiàn)模擬用戶(hù)登錄 163
任務(wù)拓展 167
1. 攜帶Cookies請(qǐng)求網(wǎng)頁(yè) 167
2. 古詩(shī)文網(wǎng)登錄實(shí)現(xiàn) 169
3. 在登錄成功后進(jìn)行數(shù)據(jù)采集 174
任務(wù)2 使用Selenium模擬用戶(hù)登錄豆瓣網(wǎng) 175
任務(wù)演示 175
知識(shí)準(zhǔn)備 176
1. 什么是Selenium 176
2. Selenium的安裝 176
任務(wù)實(shí)施 180
任務(wù)拓展 182
小結(jié) 184
復(fù)習(xí)題 185
項(xiàng)目六 使用Scrapy框架爬取圖片網(wǎng)站 186
任務(wù)1 Scrapy開(kāi)發(fā)環(huán)境搭建 187
任務(wù)演示 187
知識(shí)準(zhǔn)備 187
1. 常見(jiàn)的爬蟲(chóng)框架 187
2. Scrapy框架概述 188
任務(wù)實(shí)施 189
任務(wù)拓展 196
任務(wù)2 使用Scrapy框架爬取代理IP 200
任務(wù)演示 200
知識(shí)準(zhǔn)備 200
1. XPath選擇器 200
2. CSS選擇器 201
任務(wù)實(shí)施 202
任務(wù)拓展 210
任務(wù)3 Scrapy數(shù)據(jù)的持久化存儲(chǔ) 211
任務(wù)演示 211
知識(shí)準(zhǔn)備 211
1. 基于終端命令存儲(chǔ) 212
2. 基于管道存儲(chǔ) 212
任務(wù)實(shí)施 214
1. 實(shí)現(xiàn)基于終端命令的數(shù)據(jù)持久化存儲(chǔ) 214
2. 實(shí)現(xiàn)基于管道的數(shù)據(jù)持久化存儲(chǔ)——使用文本存儲(chǔ)數(shù)據(jù) 215
3. 實(shí)現(xiàn)基于管道的數(shù)據(jù)持久化存儲(chǔ)—使用MySQL數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù) 219
4. 實(shí)現(xiàn)基于管道的數(shù)據(jù)持久化存儲(chǔ)——使用Redis數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù) 221
5. 實(shí)現(xiàn)基于管道的數(shù)據(jù)持久化存儲(chǔ)——使用MongoDB數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù) 224
任務(wù)拓展 227
任務(wù)4 爬取圖片網(wǎng)站 230
任務(wù)演示 230
知識(shí)準(zhǔn)備 230
任務(wù)實(shí)施 231
任務(wù)拓展 235
1. 將爬取的圖片名及其路徑保存到MySQL數(shù)據(jù)庫(kù)中 235
2. 使用Scrapy框架爬取圖說(shuō)歷史欄目 236
小結(jié) 239
復(fù)習(xí)題 239
項(xiàng)目七 使用分布式爬蟲(chóng)爬取騰訊招聘頻道 241
任務(wù)1 搭建Scrapy-Redis開(kāi)發(fā)環(huán)境 242
任務(wù)演示 242
知識(shí)準(zhǔn)備 242
1. 分布式爬蟲(chóng)的基本概念 242
2. 分布式環(huán)境的搭建 243
3. 在Ubuntu系統(tǒng)上安裝Scrapy 247
4. 在CentOS 7系統(tǒng)上安裝Scrapy 249
任務(wù)實(shí)施 250
任務(wù)拓展 251
任務(wù)2 開(kāi)發(fā)分布式爬蟲(chóng) 252
任務(wù)演示 252
知識(shí)準(zhǔn)備 253
任務(wù)實(shí)施 254
1. 創(chuàng)建Scrapy爬蟲(chóng) 254
2. 初始化配置 256
3. 網(wǎng)站結(jié)構(gòu)分析 256
4. 爬蟲(chóng)的核心代碼 261
5. 部署分布式爬蟲(chóng) 266
任務(wù)拓展 271
1. 隨機(jī)請(qǐng)求頭 271
2. 爬取視頻 273
小結(jié) 277
復(fù)習(xí)題 277