求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

Python3網絡爬蟲開發實戰檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋

來自 孔夫子網 的圖片

Python3網絡爬蟲開發實戰》,崔慶才 著,出版社: 人民郵電出版社。

人民郵電出版社是全國優秀出版社、全國百佳圖書出版單位。人民郵電出版社出版領域涵蓋科技出版、教育出版、大眾出版,涉及信息技術、通信、工業技術、科普[1]、經濟管理、攝影、藝術、運動與休閒、心理學、少兒、大中專教材等10餘個出版門類,年出版圖書[2]近萬種。

內容簡介

本書介紹了如何利用 Python 3 開發網絡爬蟲。本書為第 2 版,相比於第 1 版,為每個知識點的實戰項目配備了針對性的練習平台,避免了案例過期的問題。另外,主要增加了異步爬蟲、JavaScript 逆向、App 逆向、頁面智能解析、深度學習識別驗證碼、Kubernetes 運維及部署等知識點,同時也對各個爬蟲知識點涉及的請求、存儲、解析、測試等工具進行了豐富和更新。

本書適合Python 程序員閱讀。

目錄

第 1章 爬蟲基礎 1

1.1 HTTP基本原理 1

1.2 Web 網頁基礎 12

1.3 爬蟲的基本原理 19

1.4 Session和Cookie 21

1.5 代理的基本原理 24

1.6 多線程和多進程的基本原理 26

第 2章 基本庫的使用 29

2.1 urllib的使用 29

2.2 requests的使用 47

2.3 正則表達式 63

2.4 httpx的使用 73

2.5 基礎爬蟲案例實戰 78

第3章 網頁數據的解析提取 90

3.1 XPath的使用 90

3.2 Beautiful Soup的使用 99

3.3 pyquery的使用 113

3.4 parsel 的使用 124

第4章 數據的存儲 128

4.1 TXT 文本文件存儲 128

4.2 JSON 文件存儲 130

4.3 CSV 文件存儲 134

4.4 MySQL 存儲 138

4.5 MongoDB 文檔存儲 144

4.6 Redis緩存存儲 151

4.7 Elasticsearch 搜索引擎存儲 159

4.8 RabbitMQ 的使用 166

第5章 Ajax 數據爬取 174

5.1 什麼是 Ajax 174

5.2 Ajax分析方法 176

5.3 Ajax 分析與爬取實戰 179

第6章 異步爬蟲 191

6.1 協程的基本原理 191

6.2 aiohttp的使用 201

6.3 aiohttp 異步爬取實戰 207

第7章 JavaScript 動態渲染頁面爬取 212

7.1 Selenium 的使用 212

7.2 Splash 的使用 226

7.3 Pyppeteer 的使用 242

7.4 Playwright 的使用 257

7.5 Selenium 爬取實戰 269

7.6 Pyppeteer 爬取實戰 276

7.7 CSS 位置偏移反爬案例分析與爬取實戰 282

7.8 字體反爬案例分析與爬取實戰 287

第8章 驗證碼的識別 293

8.1 使用 OCR 技術識別圖形驗證碼 293

8.2 使用 OpenCV 識別滑動驗證碼的缺口 298

8.3 使用深度學習識別圖形驗證碼 304

8.4 使用深度學習識別滑動驗證碼的缺口 309

8.5 使用打碼平台識別驗證碼 316

8.6 手機驗證碼的自動化處理 324

第9章 代理的使用 331

9.1 代理的設置 331

9.2 代理池的維護 340

9.3 付費代理的使用 351

9.4 ADSL 撥號代理的搭建方法 357

9.5 代理反爬案例爬取實戰 365

第 10章 模擬登錄 373

10.1 模擬登錄的基本原理 373

10.2 基於Session和Cookie的模擬登錄爬取實戰 376

10.3 基於JWT的模擬登錄爬取實戰 381

10.4 大規模賬號池的搭建 385

第 11章 JavaScript 逆向爬蟲 397

11.1 網站加密和混淆技術簡介 397

11.2 瀏覽器調試常用技巧 413

11.3 JavaScript Hook 的使用 430

11.4 無限 debugger 的原理與繞過 440

11.5 使用 Python 模擬執行 JavaScript 445

11.6 使用 Node.js 模擬執行 JavaScript 451

11.7 瀏覽器環境下 JavaScript 的模擬執行 454

11.8 AST 技術簡介 460

11.9 使用 AST 技術還原混淆代碼 472

11.10 特殊混淆案例的還原 480

11.11 WebAssembly 案例分析和爬取實戰 490

11.12 JavaScript 逆向技巧總結 498

11.13 JavaScript 逆向爬取實戰 505

第 12章 App 數據的爬取 530

12.1 Charles 抓包工具的使用 530

12.2 mitmproxy 抓包工具的使用 538

12.3 mitmdump 實時抓包處理 544

12.4 Appium 的使用 551

12.5 基於 Appium 的 App 爬取實戰 562

12.6 Airtest 的使用 568

12.7 基於 Airtest 的 App 爬取實戰 585

12.8 手機群控爬取實戰 591

12.9 雲手機的使用 594

第 13章 Android 逆向 603

13.1 jadx 的使用 603

13.2 JEB 的使用 615

13.3 Xposed 框架的使用 624

13.4 基於 Xposed 的爬取實戰案例 635

13.5 Frida 的使用 643

13.6 SSL Pining 問題的解決方案 650

13.7 Android 脫殼技術簡介與實戰 657

13.8 利用 IDA Pro 靜態分析和動態調試 so 文件 664

13.9 基於 Frida-RPC 模擬執行 so 文件 680

13.10 基於 AndServer-RPC 模擬執行 so 文件 685

13.11 基於 unidbg 模擬執行 so 文件 692

第 14章 頁面智能解析 700

14.1 頁面智能解析簡介 700

14.2 詳情頁智能解析算法簡介 707

14.3 詳情頁智能解析算法的實現 714

14.4 列表頁智能解析算法簡介 722

14.5 列表頁智能解析算法的實現 727

14.6 如何智能分辨列表頁和詳情頁 735

第 15章 Scrapy框架的使用 739

15.1 Scrapy框架介紹 739

15.2 Scrapy入門 743

15.3 Selector 的使用 754

15.4 Spider 的使用 759

15.5 Downloader Middleware的使用 766

15.6 Spider Middleware的使用 775

15.7 Item Pipeline的使用 781

15.8 Extension的使用 792

15.9 Scrapy 對接 Selenium 795

15.10 Scrapy 對接 Splash 801

15.11 Scrapy 對接 Pyppeteer 806

15.12 Scrapy 規則化爬蟲 813

15.13 Scrapy 實戰 827

第 16章 分布式爬蟲 840

16.1 分布式爬蟲理念 840

16.2 Scrapy-Redis原理和源碼解析 842

16.3 基於Scrapy-Redis的分布式爬蟲實現 847

16.4 基於Bloom Filter進行大規模去重 851

16.5 基於RabbitMQ的分布式爬蟲 859

第 17章 爬蟲的管理和部署 862

17.1 Scrapyd和ScrapydAPI的使用 862

17.2 Scrapyd-Client 的使用 867

17.3 Gerapy 爬蟲管理框架的使用 869

17.4 將Scrapy 項目打包成 Docker 鏡像 873

17.5 Docker Compose 的使用 878

17.6 Kubernetes的使用 880

17.7 用 Kubernetes 部署和管理 Scrapy 爬蟲 888

17.8 Scrapy 分布式爬蟲的數據統計方案 899

17.9 基於Prometheus和Grafana的分布式爬蟲監控方案 904

附錄 爬蟲與法律 917

參考文獻

  1. 100部科普經典名著,豆瓣,2018-04-26
  2. 圖書的演變歷史資料,學習啦,2017-06-07