Python爬蟲(chóng)開(kāi)發(fā) 從入門到實(shí)戰(zhàn)(微課版)
定 價(jià):49.8 元
叢書(shū)名:互聯(lián)網(wǎng)+職業(yè)技能系列O2O學(xué)習(xí)新模式
當(dāng)前圖書(shū)已被 8 所學(xué)校薦購(gòu)過(guò)!
查看明細(xì)
- 作者:謝乾坤
- 出版時(shí)間:2018/9/1
- ISBN:9787115490995
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
本書(shū)較為全面地介紹了定向爬蟲(chóng)的開(kāi)發(fā)過(guò)程、各種反爬蟲(chóng)機(jī)制的破解方法和爬蟲(chóng)開(kāi)發(fā)的相關(guān)技巧。全書(shū)共13章,包括緒論、Python基礎(chǔ)、正則表達(dá)式與文件操作、簡(jiǎn)單的網(wǎng)頁(yè)爬蟲(chóng)開(kāi)發(fā)、高性能HTML內(nèi)容解析、Python與數(shù)據(jù)庫(kù)、異步加載與請(qǐng)求頭、模擬登錄與驗(yàn)證碼、抓包與中間人爬蟲(chóng)、Android原生App爬蟲(chóng)、Scrapy、Scrapy應(yīng)用、爬蟲(chóng)開(kāi)發(fā)中的法律和道德問(wèn)題等。除第 1、12、13章外的其他章末尾都有動(dòng)手實(shí)踐,以幫助讀者鞏固本章和前面章節(jié)所學(xué)的內(nèi)容。針對(duì)書(shū)中的疑難內(nèi)容,還配有視頻講解,以便更好地演示相關(guān)操作。
1.基于Python 3.X講解,從入門到實(shí)戰(zhàn),全面講解Python爬蟲(chóng)技術(shù)。
2.全書(shū)重點(diǎn)難點(diǎn)附帶微課講解,書(shū)網(wǎng)融合互動(dòng)學(xué)習(xí)。
3.案例豐富,重視實(shí)踐,著重培養(yǎng)讀者的實(shí)際運(yùn)用能力。
謝乾坤,網(wǎng)易數(shù)據(jù)挖掘工程師。前極客學(xué)院爬蟲(chóng)課程講師,以網(wǎng)名 『青南』與『kingname』開(kāi)設(shè)爬蟲(chóng)開(kāi)發(fā)課程,受眾超過(guò)10萬(wàn)。多年爬蟲(chóng)開(kāi)發(fā)經(jīng)驗(yàn),對(duì)爬蟲(chóng)開(kāi)發(fā)有獨(dú)到的理解。曾在多家知名公司從事爬蟲(chóng)開(kāi)發(fā)工作,并為國(guó)內(nèi)外眾多基金公司與投資公司提供數(shù)據(jù)支持。
第 1章 緒論 1
1.1 爬蟲(chóng) 2
1.2 爬蟲(chóng)可以做什么 2
1.2.1 收集數(shù)據(jù) 2
1.2.2 盡職調(diào)查 3
1.2.3 刷流量和秒殺 3
1.3 爬蟲(chóng)開(kāi)發(fā)技術(shù) 4
第 2章 Python基礎(chǔ) 5
2.1 Python的安裝和運(yùn)行 6
2.1.1 在Windows中安裝Python 6
2.1.2 在Mac OS中安裝Python 7
2.1.3 在Linux中安裝Python 8
2.2 Python開(kāi)發(fā)環(huán)境 8
2.2.1 PyCharm介紹與安裝 8
2.2.2 運(yùn)行代碼 9
2.3 Python的數(shù)據(jù)結(jié)構(gòu)和控制結(jié)構(gòu) 12
2.3.1 整數(shù)、浮點(diǎn)數(shù)和變量 12
2.3.2 字符串、列表、元組 13
2.3.3 數(shù)據(jù)的讀取 14
2.3.4 字典與集合 16
2.3.5 條件語(yǔ)句 17
2.3.6 for循環(huán)與while循環(huán) 19
2.4 函數(shù)與類 21
2.4.1 函數(shù) 21
2.4.2 類與面向?qū)ο缶幊獭?8
2.5 階段案例——猜數(shù)游戲 32
2.5.1 需求分析 32
2.5.2 核心代碼構(gòu)建 33
2.5.3 調(diào)試與運(yùn)行 33
2.6 本章小結(jié) 34
2.7 動(dòng)手實(shí)踐 34
第3章 正則表達(dá)式與文件操作 35
3.1 正則表達(dá)式 36
3.1.1 正則表達(dá)式的基本符號(hào) 36
3.1.2 在Python中使用正則表達(dá)式 38
3.1.3 正則表達(dá)式提取技巧 41
3.2 Python文件操作 44
3.2.1 使用Python讀/寫文本文件 44
3.2.2 使用Python讀/寫CSV文件 46
3.3 階段案例——半自動(dòng)爬蟲(chóng)開(kāi)發(fā) 49
3.3.1 需求分析 49
3.3.2 核心代碼構(gòu)建 50
3.3.3 調(diào)試與運(yùn)行 51
3.4 本章小結(jié) 54
3.5 動(dòng)手實(shí)踐 54
第4章 簡(jiǎn)單的網(wǎng)頁(yè)爬蟲(chóng)開(kāi)發(fā) 55
4.1 使用Python獲取網(wǎng)頁(yè)源代碼 56
4.1.1 Python的第三方庫(kù) 56
4.1.2 requests介紹與安裝 56
4.1.3 使用requests獲取網(wǎng)頁(yè)源代碼 57
4.1.4 結(jié)合requests與正則表達(dá)式 59
4.2 多線程爬蟲(chóng) 60
4.2.1 多進(jìn)程庫(kù)(multiprocessing) 60
4.2.2 開(kāi)發(fā)多線程爬蟲(chóng) 61
4.3 爬蟲(chóng)的常見(jiàn)搜索算法 62
4.3.1 深度優(yōu)先搜索 62
4.3.2 廣度優(yōu)先搜索 63
4.3.3 爬蟲(chóng)搜索算法的選擇 64
4.4 階段案例——小說(shuō)網(wǎng)站爬蟲(chóng)開(kāi)發(fā) 64
4.4.1 需求分析 64
4.4.2 核心代碼構(gòu)建 65
4.4.3 調(diào)試與運(yùn)行 68
4.5 本章小結(jié) 68
4.6 動(dòng)手實(shí)踐 68
第5章 高性能HTML內(nèi)容解析 69
5.1 HTML基礎(chǔ) 70
5.2 XPath 71
5.2.1 XPath的介紹 71
5.2.2 lxml的安裝 71
5.2.3 XPath語(yǔ)法講解 73
5.2.4 使用Google Chrome瀏覽器輔助構(gòu)造XPath 77
5.3 Beautiful Soup4 81
5.3.1 BS4的安裝 81
5.3.2 BS4語(yǔ)法講解 82
5.4 階段案例——大麥網(wǎng)演出爬蟲(chóng) 85
5.4.1 需求分析 85
5.4.2 核心代碼構(gòu)建 85
5.4.3 調(diào)試與運(yùn)行 86
5.5 本章小結(jié) 87
5.6 動(dòng)手實(shí)踐 87
第6章 Python與數(shù)據(jù)庫(kù) 88
6.1 MongoDB 89
6.1.1 MongoDB的安裝 89
6.1.2 PyMongo的安裝與使用 94
6.1.3 使用RoboMongo執(zhí)行MongoDB命令 101
6.2 Redis 102
6.2.1 環(huán)境搭建 102
6.2.2 Redis交互環(huán)境的使用 103
6.2.3 Redis-py 104
6.3 MongoDB的優(yōu)化建議 105
6.3.1 少讀少寫少更新 105
6.3.2 能用Redis不用MongoDB 106
6.4 階段案例 107
6.4.1 需求分析 107
6.4.2 核心代碼構(gòu)建 107
6.4.3 調(diào)試與運(yùn)行 108
6.5 本章小結(jié) 108
6.6 動(dòng)手實(shí)踐 108
第7章 異步加載與請(qǐng)求頭 109
7.1 異步加載 110
7.1.1 AJAX技術(shù)介紹 110
7.1.2 JSON介紹與應(yīng)用 110
7.1.3 異步GET與POST請(qǐng)求 111
7.1.4 特殊的異步加載 113
7.1.5 多次請(qǐng)求的異步加載 114
7.1.6 基于異步加載的簡(jiǎn)單登錄 117
7.2 請(qǐng)求頭(Headers) 118
7.2.1 請(qǐng)求頭的作用 118
7.2.2 偽造請(qǐng)求頭 119
7.3 模擬瀏覽器 122
7.3.1 Selenium介紹 123
7.3.2 Selenium安裝 124
7.3.3 Selenium的使用 124
7.4 階段案例 128
7.4.1 需求分析 128
7.4.2 核心代碼構(gòu)建 128
7.4.3 調(diào)試與運(yùn)行 130
7.5 本章小結(jié) 131
7.6 動(dòng)手實(shí)踐 131
第8章 模擬登錄與驗(yàn)證碼 132
8.1 模擬登錄 133
8.1.1 使用Selenium模擬登錄 133
8.1.2 使用Cookies登錄 135
8.1.3 模擬表單登錄 137
8.2 驗(yàn)證碼 139
8.2.1 肉眼打碼 139
8.2.2 自動(dòng)打碼 141
8.3 階段案例——自動(dòng)登錄果殼網(wǎng) 144
8.3.1 需求分析 144
8.3.2 核心代碼構(gòu)建 145
8.3.3 運(yùn)行與調(diào)試 146
8.4 本章小結(jié) 147
8.5 動(dòng)手實(shí)踐 147
第9章 抓包與中間人爬蟲(chóng) 148
9.1 數(shù)據(jù)抓包 149
9.1.1 Charles的介紹和使用 149
9.1.2 App爬蟲(chóng)和小程序爬蟲(chóng) 156
9.2 中間人爬蟲(chóng) 163
9.2.1 mitmproxy的介紹和安裝 163
9.2.2 mitmproxy的使用 164
9.2.3 使用Python定制mitmproxy 165
9.3 階段案例——Keep熱門 170
9.3.1 需求分析 170
9.3.2 核心代碼構(gòu)建 170
9.3.3 調(diào)試運(yùn)行 172
9.4 本章小結(jié) 172
9.5 動(dòng)手實(shí)踐 172
第 10章 Android原生App爬蟲(chóng) 173
10.1 實(shí)現(xiàn)原理 174
10.1.1 環(huán)境搭建 175
10.1.2 使用Python操縱手機(jī) 178
10.1.3 選擇器 180
10.1.4 操作 181
10.2 綜合應(yīng)用 188
10.2.1 單設(shè)備應(yīng)用 188
10.2.2 多設(shè)備應(yīng)用(群控) 191
10.3 階段案例——BOSS直聘爬蟲(chóng) 196
10.3.1 需求分析 196
10.3.2 核心代碼構(gòu)建 196
10.3.3 調(diào)試與運(yùn)行 197
10.4 本章小結(jié) 197
10.5 動(dòng)手實(shí)踐 198
第 11章 Scrapy 199
11.1 Scrapy的安裝 200
11.1.1 在Windows下安裝Scrapy 200
11.1.2 在Linux下安裝Scrapy 202
11.1.3 在Mac OS下安裝Scrapy 202
11.2 Scrapy的使用 203
11.2.1 創(chuàng)建項(xiàng)目 203
11.2.2 在Scrapy中使用XPath 207
11.3 Scrapy與MongoDB 213
11.3.1 items和pipelines的設(shè)置 213
11.3.2 在Scrapy中使用MongoDB 215
11.4 Scrapy與Redis 218
11.4.1 Scrapy_redis的安裝和使用 218
11.4.2 使用Redis緩存網(wǎng)頁(yè)并自動(dòng)去重 218
11.5 階段案例——博客爬蟲(chóng) 220
11.5.1 需求分析 220
11.5.2 核心代碼構(gòu)建 221
11.5.3 調(diào)試與運(yùn)行 226
11.6 本章小結(jié) 228
11.7 動(dòng)手實(shí)踐 228
第 12章 Scrapy應(yīng)用 229
12.1 中間件(Middleware) 230
12.1.1 下載器中間件 230
12.1.2 爬蟲(chóng)中間件 242
12.2 爬蟲(chóng)的部署 246
12.2.1 Scrapyd介紹與使用 246
12.2.2 權(quán)限管理 253
12.3 分布式架構(gòu) 258
12.3.1 分布式架構(gòu)介紹 258
12.3.2 如何選擇Master 259
12.4 階段案例 259
12.5 本章小結(jié) 259
第 13章 爬蟲(chóng)開(kāi)發(fā)中的法律和道德問(wèn)題 260
13.1 法律問(wèn)題 261
13.1.1 數(shù)據(jù)采集的法律問(wèn)題 261
13.1.2 數(shù)據(jù)的使用 261
13.1.3 注冊(cè)及登錄可能導(dǎo)致的法律問(wèn)題 261
13.1.4 數(shù)據(jù)存儲(chǔ) 261
13.1.5 內(nèi)幕交易 261
13.2 道德協(xié)議 262
13.2.1 robots.txt協(xié)議 262
13.2.2 爬取頻率 262
13.2.3 不要開(kāi)源爬蟲(chóng)的源代碼 262
13.3 本章小結(jié) 262