Python網(wǎng)絡(luò)爬蟲技術(shù)(第2版)(微課版)
定 價(jià):49.8 元
- 作者:池瑞楠,張良均
- 出版時(shí)間:2023/10/1
- ISBN:9787115625052
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁(yè)碼:208
- 紙張:
- 版次:02
- 開本:16開
本書以任務(wù)為導(dǎo)向,較為全面地介紹了不同場(chǎng)景下Python爬取網(wǎng)絡(luò)數(shù)據(jù)的方法。全書共分為7個(gè)項(xiàng)目,第1個(gè)項(xiàng)目介紹了爬蟲與反爬蟲的基本概念,以及Python爬蟲環(huán)境的配置,第2個(gè)項(xiàng)目介紹了爬取過(guò)程中涉及的網(wǎng)頁(yè)前端基礎(chǔ)知識(shí),第3個(gè)項(xiàng)目介紹了在靜態(tài)網(wǎng)頁(yè)中爬取數(shù)據(jù)的過(guò)程,第4個(gè)項(xiàng)目介紹了在動(dòng)態(tài)網(wǎng)頁(yè)中爬取數(shù)據(jù)的過(guò)程,第5個(gè)項(xiàng)目介紹了對(duì)登錄后才能訪問(wèn)的網(wǎng)頁(yè)進(jìn)行模擬登錄的方法,第6個(gè)項(xiàng)目介紹了爬取PC客戶端、App的數(shù)據(jù)的方法,第7個(gè)項(xiàng)目介紹了使用Scrapy爬蟲框架爬取數(shù)據(jù)的過(guò)程。本書所有章節(jié)都包含了實(shí)訓(xùn)與課后習(xí)題,通過(guò)練習(xí)和操作實(shí)戰(zhàn),可幫助讀者鞏固所學(xué)的內(nèi)容。 本書可以作為大數(shù)據(jù)技術(shù)愛(ài)好者的自學(xué)用書,也可作為高校大數(shù)據(jù)技術(shù)類專業(yè)的教材。
1. 全書緊扣任務(wù)需求展開,不堆積知識(shí)點(diǎn)
2. 隨書附帶源代碼,方便讀者系統(tǒng)學(xué)習(xí)并動(dòng)手實(shí)踐
3. 案例豐富
4. 配有微課視頻 學(xué)習(xí)更方便
5. 大數(shù)據(jù)分析與應(yīng)用1+X證書配套教材
張良均 高級(jí)信息系統(tǒng)項(xiàng)目管理師,泰迪杯全國(guó)大學(xué)生數(shù)據(jù)挖掘競(jìng)賽(www.tipdm.org)的發(fā)起人。華南師范大學(xué)、廣東工業(yè)大學(xué)兼職教授,廣東省工業(yè)與應(yīng)用數(shù)學(xué)學(xué)會(huì)理事。兼有大型高科技企業(yè)和高校的工作經(jīng)歷,主要從事大數(shù)據(jù)挖掘及其應(yīng)用的策劃、研發(fā)及咨詢培訓(xùn)。全國(guó)計(jì)算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試?yán)^續(xù)教育和CDA數(shù)據(jù)分析師培訓(xùn)講師。發(fā)表數(shù)據(jù)挖掘相關(guān)論文數(shù)二十余篇,已取得國(guó)家發(fā)明專利12項(xiàng),主編圖書《神經(jīng)網(wǎng)絡(luò)實(shí)用教程》、《數(shù)據(jù)挖掘:實(shí)用案例分析》、《MATLAB數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》等9本暢銷圖書,主持并完成科技項(xiàng)目9項(xiàng)。獲得SAS、SPSS數(shù)據(jù)挖掘認(rèn)證及Hadoop開發(fā)工程師證書,具有電力、電信、銀行、制造企業(yè)、電子商務(wù)和電子政務(wù)的項(xiàng)目經(jīng)驗(yàn)和行業(yè)背景。
目錄
項(xiàng)目1 了解爬蟲與Python爬蟲環(huán)境 1
【項(xiàng)目背景】 1
【學(xué)習(xí)目標(biāo)】 1
【思維導(dǎo)圖】 2
任務(wù)1.1 認(rèn)識(shí)爬蟲 2
1.1.1 爬蟲的概念 3
1.1.2 爬蟲的原理 3
1.1.3 爬蟲的合法性與robots協(xié)議 5
任務(wù)1.2 認(rèn)識(shí)反爬蟲 7
1.2.1 網(wǎng)站反爬蟲的目的與手段 8
1.2.2 爬取策略制定 9
任務(wù)1.3 配置Python爬蟲環(huán)境 10
1.3.1 配置PyCharm 11
1.3.2 Python爬蟲相關(guān)庫(kù)介紹與配置 20
1.3.3 配置MySQL數(shù)據(jù)庫(kù) 21
1.3.4 配置MongoDB數(shù)據(jù)庫(kù) 34
小結(jié) 40
實(shí)訓(xùn) Python爬蟲環(huán)境配置 41
思考題 42
課后習(xí)題 42
項(xiàng)目2 爬蟲基礎(chǔ)知識(shí)準(zhǔn)備 44
【項(xiàng)目背景】 44
【學(xué)習(xí)目標(biāo)】 44
【思維導(dǎo)圖】 45
任務(wù)2.1 認(rèn)識(shí)網(wǎng)頁(yè)基礎(chǔ) 46
2.1.1 了解網(wǎng)頁(yè)開發(fā)技術(shù) 47
2.1.2 了解網(wǎng)頁(yè)的結(jié)構(gòu) 49
2.1.3 了解網(wǎng)頁(yè)的分類 56
2.1.4 了解網(wǎng)頁(yè)的數(shù)據(jù)結(jié)構(gòu) 59
任務(wù)2.2 認(rèn)識(shí)HTTP 61
2.2.1 熟悉HTTP請(qǐng)求方法與過(guò)程 62
2.2.2 熟悉常見HTTP狀態(tài)碼 64
2.2.3 熟悉HTTP頭部信息 65
2.2.4 熟悉Cookie 71
小結(jié) 73
實(shí)訓(xùn) 74
實(shí)訓(xùn)1 創(chuàng)建一個(gè)簡(jiǎn)單的網(wǎng)頁(yè)文件 74
實(shí)訓(xùn)2 訪問(wèn)網(wǎng)站并查看請(qǐng)求和響應(yīng)信息 74
思考題 75
課后習(xí)題 75
項(xiàng)目3 簡(jiǎn)單靜態(tài)網(wǎng)頁(yè)爬取—獲取某企業(yè)官網(wǎng)基本信息 77
【項(xiàng)目背景】 77
【學(xué)習(xí)目標(biāo)】 77
【思維導(dǎo)圖】 78
任務(wù)3.1 實(shí)現(xiàn)HTTP請(qǐng)求 79
3.1.1 使用Chrome開發(fā)者工具查看網(wǎng)頁(yè) 80
3.1.2 使用urllib 3庫(kù)實(shí)現(xiàn) 86
3.1.3 使用Requests庫(kù)實(shí)現(xiàn) 90
任務(wù)3.2 解析網(wǎng)頁(yè) 95
3.2.1 使用Xpath解析網(wǎng)頁(yè) 95
3.2.2 使用Beautiful Soup庫(kù)解析網(wǎng)頁(yè) 101
3.2.3 使用正則表達(dá)式解析網(wǎng)頁(yè) 109
任務(wù)3.3 數(shù)據(jù)存儲(chǔ) 113
3.3.1 將數(shù)據(jù)存儲(chǔ)為JSON文件 113
3.3.2 將數(shù)據(jù)存儲(chǔ)到MySQL數(shù)據(jù)庫(kù) 115
小結(jié) 117
實(shí)訓(xùn) 118
實(shí)訓(xùn)1 生成GET請(qǐng)求并獲取指定網(wǎng)頁(yè)內(nèi)容 118
實(shí)訓(xùn)2 搜索目標(biāo)節(jié)點(diǎn)并提取文本內(nèi)容 119
實(shí)訓(xùn)3 在數(shù)據(jù)庫(kù)中建立新表并導(dǎo)入數(shù)據(jù) 119
思考題 120
課后習(xí)題 120
項(xiàng)目4 爬取動(dòng)態(tài)網(wǎng)頁(yè)——獲取圖書基本信息 123
【項(xiàng)目背景】 123
【學(xué)習(xí)目標(biāo)】 123
【思維導(dǎo)圖】 124
任務(wù)4.1 逆向分析爬取動(dòng)態(tài)網(wǎng)頁(yè) 124
4.1.1 判別網(wǎng)頁(yè)類型 125
4.1.2 獲取動(dòng)態(tài)網(wǎng)頁(yè)信息 126
任務(wù)4.2 使用Selenium庫(kù)爬取動(dòng)態(tài)網(wǎng)頁(yè) 129
4.2.1 安裝Selenium庫(kù)及下載瀏覽器驅(qū)動(dòng) 130
4.2.2 打開瀏覽對(duì)象并訪問(wèn)頁(yè)面 131
4.2.3 元素選取 132
4.2.4 元素交互 136
4.2.5 頁(yè)面操作 138
4.2.6 頁(yè)面等待 140
任務(wù)4.3 存儲(chǔ)數(shù)據(jù)至MongoDB數(shù)據(jù)庫(kù) 143
4.3.1 MongoDB數(shù)據(jù)庫(kù)和MySQL數(shù)據(jù)庫(kù)的區(qū)別 143
4.3.2 將數(shù)據(jù)存儲(chǔ)到MongoDB數(shù)據(jù)庫(kù) 144
小結(jié) 148
實(shí)訓(xùn) 149
實(shí)訓(xùn)1 生成GET請(qǐng)求并獲取指定網(wǎng)頁(yè)內(nèi)容 149
實(shí)訓(xùn)2 搜索目標(biāo)節(jié)點(diǎn)并提取文本內(nèi)容 149
思考題 150
課后習(xí)題 150
項(xiàng)目5 模擬登錄—登錄某企業(yè)官網(wǎng) 153
【項(xiàng)目背景】 153
【學(xué)習(xí)目標(biāo)】 153
【思維導(dǎo)圖】 154
任務(wù)5.1 使用表單登錄方法實(shí)現(xiàn)模擬登錄 155
5.1.1 查找提交入口 155
5.1.2 查找并獲取需要提交的表單數(shù)據(jù) 158
5.1.3 使用POST請(qǐng)求方法登錄 162
任務(wù)5.2 使用Cookie登錄方法實(shí)現(xiàn)模擬登錄 165
5.2.1 使用瀏覽器Cookie登錄 165
5.2.2 基于表單登錄的Cookie登錄 168
小結(jié) 170
實(shí)訓(xùn) 171
實(shí)訓(xùn)1 使用表單登錄方法模擬登錄古詩(shī)文網(wǎng) 171
實(shí)訓(xùn)2 使用瀏覽器Cookie模擬登錄古詩(shī)文網(wǎng) 171
實(shí)訓(xùn)3 基于表單登錄后的Cookie模擬登錄古詩(shī)文網(wǎng) 172
思考題 173
課后習(xí)題 173
項(xiàng)目6 終端協(xié)議分析——獲取某音樂(lè)PC客戶端和APP數(shù)據(jù) 175
【項(xiàng)目背景】 175
【學(xué)習(xí)目標(biāo)】 176
【思維導(dǎo)圖】 176
任務(wù)6.1 分析PC客戶端抓包 177
6.1.1 了解HTTP Analyzer工具 177
6.1.2 爬取酷我音樂(lè)PC客戶端數(shù)據(jù) 180
任務(wù)6.2 分析App抓包 182
6.2.1 了解Fiddler工具 182
6.2.2 分析酷我音樂(lè)App 186
小結(jié) 189
實(shí)訓(xùn) 189
實(shí)訓(xùn)1 抓取酷我音樂(lè)PC客戶端的推薦歌曲信息 189
實(shí)訓(xùn)2 監(jiān)控樸樸超市商品實(shí)時(shí)價(jià)格 191
思考題 192
課后習(xí)題 193
項(xiàng)目7 使用Scrapy爬蟲——爬取某企業(yè)官網(wǎng)新聞動(dòng)態(tài) 194
【項(xiàng)目背景】 194
【學(xué)習(xí)目標(biāo)】 194
【思維導(dǎo)圖】 195
任務(wù)7.1 認(rèn)識(shí)Scrapy 196
7.1.1 了解Scrapy爬蟲框架 196
7.1.2 熟悉Scrapy常用命令 198
任務(wù)7.2 通過(guò)Scrapy爬取文本信息 199
7.2.1 創(chuàng)建Scrapy爬蟲項(xiàng)目 200
7.2.2 修改items/pipelines腳本 201
7.2.3 編寫spider腳本 204
7.2.4 修改settings腳本 209
任務(wù)7.3 定制中間件 212
7.3.1 定制下載器中間件 212
7.3.2 定制Spider中間件 216
小結(jié) 217
實(shí)訓(xùn) 218
實(shí)訓(xùn)1 爬取“http://www.tipdm.org”的所有新聞動(dòng)態(tài) 218
實(shí)訓(xùn)2 定制BdRaceNews爬蟲項(xiàng)目的中間件 219
實(shí)訓(xùn)3 爬取貓眼電影“https://maoyan.com/board/4”的影片信息 220
實(shí)訓(xùn)4 配置Maoyan100爬蟲項(xiàng)目的設(shè)置文件 220
思考題 221
課后習(xí)題 222