Python3網絡爬蟲開發實戰 第2版

崔慶才

  • 出版商: 人民郵電
  • 出版日期: 2021-11-01
  • 定價: $839
  • 售價: 8.5$713
  • 語言: 簡體中文
  • 頁數: 918
  • 裝訂: 平裝
  • ISBN: 7115577099
  • ISBN-13: 9787115577092
  • 相關分類: Web-crawler 網路爬蟲
  • 下單後立即進貨 (約4週~6週)

  • Python3網絡爬蟲開發實戰 第2版-preview-1
  • Python3網絡爬蟲開發實戰 第2版-preview-2
Python3網絡爬蟲開發實戰 第2版-preview-1

買這商品的人也買了...

相關主題

商品描述

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

本書適合Python 程序員閱讀。

作者簡介

崔慶才
微軟(中國)軟件工程師,北京航空航天大學碩士,主要研究網絡爬蟲、Web 開發、機器學習等方向。

目錄大綱

第 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