深入解析PYTHON反爬蟲
任傑麟,茍如意
- 出版商: 機械工業
- 出版日期: 2024-10-01
- 售價: $594
- 貴賓價: 9.5 折 $564
- 語言: 簡體中文
- 頁數: 234
- ISBN: 7111764072
- ISBN-13: 9787111764076
-
相關分類:
Web-crawler 網路爬蟲
立即出貨 (庫存 < 4)
相關主題
商品描述
本書主要介紹了反爬蟲的相關技術,內容涵蓋了爬蟲工具、加密算法、App爬蟲等,從理論到案例實踐,深入淺出。本書詳細講解了常用的抓包工具、反爬蟲機制、驗證碼識別、動態網頁反爬蟲、JavaScript文件處理。本書聚焦加密數據的破解、App應用爬蟲以及破解方法、部署爬蟲程序。對於以上內容,本書進行細分總結,將相關知識點都納入其中,形成一套完整的體系。 本書適合Python愛好者、爬蟲工程師、數據分析師,以及高等院校計算機科學技術、軟件工程、網絡工程等相關專業的師生。
作者簡介
任傑麟,碩士研究生學歷,從事Python、Java方向的技術研發,擁有超過十五年的社交、金融、石油行業開發經驗,始終戰鬥在編碼第一線,平時喜歡鉆研開源技術和數學。負責過石油領域數據分析的開發,以及人工智能的開發工作,長期擔任數據爬取與數據分析的項目負責人,對網絡爬蟲和反爬蟲有著較多的應用和感悟。
目錄大綱
第1章 無處不在的反爬蟲
1.1 學習反爬蟲的理由
1.1.1 反爬蟲的定義
1.1.2 反爬蟲對信息的保護
1.1.3 防止惡意競爭與知識產權侵犯
1.1.4 反爬蟲對網站的維護
1.1.5 爬蟲與反爬蟲的相愛相殺:反爬蟲對抗爬蟲
1.2 什麽樣的爬蟲會被反爬呢?
1.2.1 “裸體”爬蟲
1.2.2 “索取無度”的爬蟲
1.2.3 “不守規定”的爬蟲
1.3 爬蟲程序員的噩夢:多種多樣的反爬蟲機制
1.3.1 基於IP反爬蟲:封鎖IP
1.3.2 基於request headers反爬蟲:檢查“身份證”
1.3.3 基於用戶行為的反爬蟲
1.3.4 動態頁面的反爬蟲
1.3.5 登錄限制(cookie限制)
1.3.6 驗證碼限制
1.3.7 JavaScript加密
1.3.8 文本混淆反爬蟲:從根本上偽裝信息
1.4 本章小結
第2章 抓包利器的使用
2.1 抓包
2.1.1 什麽是抓包?
2.1.2 抓包的意義
2.1.3 HTTP的抓包原理
2.1.4 HTTPS的抓包原理
2.1.5 常見抓包工具的對比
2.2 抓包工具Charles的使用
2.2.1 什麽是Charles?
2.2.2 Charles的抓包原理
2.2.3 Charles的配置
2.2.4 使用Charles對網站進行抓包
2.2.5 使用Charles對App進行抓包
2.3 抓包工具Fiddler的使用
2.3.1 Fiddler簡介
2.3.2 Fiddler與Charles的區別
2.3.3 Fiddler證書的安裝
2.3.4 Fiddler的使用
2.4 抓包工具Mitmproxy的使用
2.4.1 Mitmproxy簡介
2.4.2 Mitmproxy的工作原理
2.4.3 Mitmproxy的工作模式
2.4.4 Mitmproxy的使用
2.5 抓包工具Wireshark的使用
2.5.1 Wireshark簡介
2.5.2 Wireshark與Fiddler的區別
2.5.3 Wireshark的使用
2.6 本章小結
第3章 信息校驗型反爬蟲
3.1 信息校驗反爬蟲概述
3.1.1 信息校驗反爬蟲的原理
3.1.2 信息校驗反爬蟲的常見類型
3.2 useragent反爬蟲
3.2.1 什麽是UA?
3.2.2 UA的改變方法
3.3 cookie反爬蟲
3.3.1 HTTP機制
3.3.2 cookie的作用
3.3.3 session和cookie的關系
3.4 Referer反爬蟲
3.4.1 Referer的意義
3.4.2 Referer的破解方法
3.5 簽名驗證反爬蟲
3.5.1 簽名驗證的原理
3.5.2 簽名驗證的破解
3.6 本章小結
第4章 驗證碼識別
4.1 什麽是驗證碼?
4.1.1 驗證碼原理
4.1.2 驗證碼的應用
4.1.3 驗證碼分類
4.2 圖像識別技術
4.2.1 圖像識別技術的基礎知識
4.2.2 什麽是OCR?
4.2.3 OCR原理
4.2.4 什麽是Tesseract?
4.3 打碼平臺的使用
4.3.1 什麽是打碼平臺?
4.3.2 如何使用打碼平臺
4.4 驗證碼爬蟲案例
4.4.1 分析測試網站
4.4.2 實現模擬登錄
4.4.3 核心代碼
4.5 本章小結
第5章 模擬登錄
5.1 requests模擬登錄
5.1.1 requests的基礎操作
5.1.2 get請求方式
5.1.3 cookie的使用
5.1.4 post請求方式
5.1.5 get請求失敗的案例
5.2 selenium模擬登錄
5.2.1 什麽是selenium?
5.2.2 安裝selenium及驅動
5.2.3 網頁結構與xpath簡介
5.2.4 selenium的元素定位
5.2.5 使用selenium進行交互
5.2.6 使用selenium進行模擬登錄
5.3 案例——selenium+驗證碼模擬登錄
5.3.1 原理分析
5.3.2 獲取驗證碼圖片
5.3.3 實現selenium+驗證碼模擬登錄
5.3.4 核心代碼
5.4 本章小結
第6章 搭建IP代理池爬蟲
6.1 IP的基礎知識
6.1.1 IP地址的簡述
6.1.2 什麽是IPv4?
6.1.3 什麽是IPv6?
6.1.4 IPv4與IPv6的對比
6.2 IP封鎖
6.2.1 IP封鎖反爬蟲的基本原理
6.2.2 IP封鎖的影響
6.3 如何突破IP封鎖
6.3.1 降低爬蟲性能——設置休眠時間
6.3.2 使用IP代理
6.4 IP代理
6.4.1 什麽是IP代理?
6.4.2 為什麽要進行IP代理?
6.5 IP代理池
6.5.1 實現IP代理
6.5.2 如何構建IP代理池
6.6 案例1——urllib的IP代理
6.6.1 代碼簡述
6.6.2 完整代碼
6.7 案例2——構建IP代理池
6.7.1 代理網站分析
6.7.2 代理IP獲取
6.7.3 代理IP檢測與保存
6.7.4 完整代碼
6.8 本章小結
第7章 針對動態渲染頁面的反爬
7.1 動態渲染網頁的原理
7.1.1 靜態頁面和動態頁面
7.1.2 JavaScript實現渲染的簡單原理
7.2 動態渲染實現的方式
7.2.1 自動執行的異步請求
7.2.2 點擊事件和計數
7.2.3 下拉加載和異步請求
7.3 解決動態渲染的反爬工具
7.3.1 selenium
7.3.2 puppeteer
7.3.3 Splash
7.4 案例——爬取漫畫網漫畫數據