注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計Java網絡爬蟲精解與實踐

Java網絡爬蟲精解與實踐

Java網絡爬蟲精解與實踐

定 價:¥89.00

作 者: 張凱
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302674849 出版時間: 2024-11-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內容簡介

  《Java網絡爬蟲精解與實踐》全面而系統(tǒng)地介紹與網絡爬蟲程序相關的理論知識,并包含大量的實踐操作案例?!禞ava網絡爬蟲精解與實踐》共分為 8 章。第 1 章以自動化框架為基礎,介紹網絡爬蟲程序的入門開發(fā)實踐。第 2 章深入講解網頁內容的處理、解析技術和數(shù)據(jù)提取方法。第 3 章討論驗證碼識別技術以及如何有效繞過驗證碼的策略。第 4 章涉及網絡抓包技術及其對抗策略。第 5 章深入探討 JavaScript 代碼的混淆技術與逆向分析方法。第 6 章專注于移動端應用程序的數(shù)據(jù)爬取技術及相關逆向分析技術。第 7 章介紹構建分布式網絡爬蟲系統(tǒng)所需的關鍵技術。第 8 章通過實戰(zhàn)案例,展示分布式網絡爬蟲系統(tǒng)設計與實現(xiàn)的思路。通過學習本書,讀者將顯著提升網絡爬蟲系統(tǒng)的設計與實現(xiàn)能力,并增強對網頁代碼及移動端應用程序代碼的逆向分析水平。《Java網絡爬蟲精解與實踐》的內容不僅涵蓋理論知識,還注重實踐操作,適合廣大網絡爬蟲程序開發(fā)愛好者閱讀。同時,《Java網絡爬蟲精解與實踐》也適合作為培訓機構和學校的教學參考用書。

作者簡介

  張 凱中國科學院大學軟件工程專業(yè)碩士,研究方向為操作系統(tǒng)虛擬化,畢業(yè)后先后供職于微策略、新浪微博,目前供職于粉筆科技,任技術總監(jiān)職務,擔任爬蟲平臺、內容審核平臺等多個重要系統(tǒng)技術負責人。對網絡爬蟲、高可用架構設計和文本分類領域有著深入研究。

圖書目錄

第 1 章 網絡爬蟲開發(fā)入門實踐 1
1.1 Java 網絡爬蟲框架概覽1
1.2 搭建開發(fā)環(huán)境5
1.2.1 搭建 Java 開發(fā)環(huán)境5
1.2.2 搭建 Selenium 開發(fā)環(huán)境6
1.3 簡單 Web 爬蟲程序示例7
1.3.1 獲取網頁內容并打印7
1.3.2 利用 XPath 獲取指定元素8
1.3.3 單擊搜索按鈕9
1.3.4 獲取 iframe 元素中的數(shù)據(jù) 9
1.3.5 使用更加優(yōu)雅的等待方式10
1.3.6 實現(xiàn)屏幕截圖12
1.3.7 執(zhí)行 JavaScript 腳本12
1.4 WebDriver 選項配置3
1.4.1 瀏覽器通用選項配置13
1.4.2 Chrome 瀏覽器特定選項配置 14
1.4.3 Chrome DevTools Protocol14
1.5 BrowserMob Proxy 18
1.6 其他主流 Web 自動化測試框架19
1.6.1 Puppeteer20
1.6.2 Playwright20
1.7 本章小結21
1.8 本章練習21
第 2 章 網頁內容解析與提取 24
2.1 Selenium 元素定位器24
2.2 基于正則表達式的內容解析與提取27
2.2.1 正則表達式的基礎語法27
2.2.2 正則表達式的高級應用技巧29
2.2.3 正則表達式的應用場景31
2.3 基于 JsonPath 的內容解析與提取34
2.4 本章小結36
2.5 本章練習36
 IV Java 網絡爬蟲精解與實踐
第 3 章 驗證碼繞過與識別 38
3.1 驗證碼介紹38
3.1.1 基于文本識別的驗證碼39
3.1.2 基于圖片識別的驗證碼39
3.1.3 基于語音識別的驗證碼40
3.1.4 基于行為識別的智能驗證碼40
3.2 避免 CAPTCHA 驗證碼觸發(fā) 40
3.3 CAPTCHA 驗證碼生成 42
3.3.1 文本驗證碼的生成42
3.3.2 滑塊驗證碼的生成43
3.3.3 點選驗證碼的生成45
3.4 CAPTCHA 驗證碼識別 47
3.4.1 文本驗證碼識別方案 1 47
3.4.2 文本驗證碼識別方案 2 52
3.4.3 滑塊驗證碼的識別56
3.4.4 點選驗證碼的識別59
3.5 本章小結65
3.6 本章練習66
第 4 章 網絡抓包與對抗 67
4.1 Fiddler 67
4.1.1 Fiddler 的安裝配置與基礎功能使用 67
4.1.2 Fiddler 的高級特性 70
4.2 Charles73
4.3 Wireshark 75
4.4 SSL Pinning 保護機制下的網絡數(shù)據(jù)抓包78
4.4.1 配置自定義 CA 證書 79
4.4.2 添加抓包軟件證書到系統(tǒng)信任的 CA 證書列表 82
4.4.3 使用 Hook 技術84
4.5 JustTrustMe 的工作原理 86
4.5.1 SSL Pinning 機制的實現(xiàn)86
4.5.2 JustTrustMe 模塊 Hook 操作的實現(xiàn)原理89
4.6 本章小結90
4.7 本章練習91
第 5 章 JavaScript 逆向分析技術 92
5.1 常見的反爬蟲策略及其應對方案92
5.1.1 基于訪問頻率的檢查與訪問限制92
5.1.2 基于請求參數(shù)和請求頭信息的反爬蟲技術94
5.1.3 基于蜜罐機制的反爬蟲技術94
5.1.4 隱藏網頁的跳轉鏈接95
5.2 瀏覽器指紋識別與修復96
5.2.1 瀏覽器指紋識別的工作原理96
5.2.2 瀏覽器指紋泄露97
5.2.3 瀏覽器指紋泄露修復98
5.3 JavaScript 代碼保護技術98
5.3.1 JavaScript 代碼反調試技術 99
5.3.2 基于完整性檢測的代碼保護技術106
5.3.3 限制 JavaScript 代碼執(zhí)行環(huán)境111
5.3.4 JavaScript 代碼混淆技術 111
5.4 JavaScript 抽象語法樹122
5.4.1 抽象語法樹的結構123
5.4.2 抽象語法樹的生成過程124
5.4.3 操作抽象語法樹126
5.4.4 操作抽象語法樹反混淆基礎實踐131
5.5 JavaScript Hook 技術 137
5.6 JavaScript 逆向工程實踐143
5.6.1 JavaScript 反混淆實戰(zhàn) 143
5.6.2 JavaScript Hook 技術實戰(zhàn) 156
5.7 本章小結160
5.8 本章練習161
第 6 章 App 數(shù)據(jù)爬取與逆向分析 162
6.1 基于抓包分析的 App 數(shù)據(jù)爬取 162
6.2 基于 Appium 自動化框架的 App 數(shù)據(jù)采集163
6.2.1 Appium 簡介 163
6.2.2 Appium 環(huán)境搭建 164
6.2.3 Appium 2.x 和 Appium 1.x166
6.2.4 移動端 Web 爬蟲開發(fā)實踐168
6.2.5 移動端 Native App 爬蟲開發(fā)實踐 171
6.2.6 移動端 Hybrid App 爬蟲開發(fā)實踐173
6.2.7 Appium 開發(fā)環(huán)境的常見錯誤與處理技巧 175
6.3 Android 應用程序靜態(tài)分析 177
6.3.1 Android 應用程序基本結構剖析177
6.3.2 Android 應用程序構建過程180
6.3.3 Smali 代碼分析182
6.4 Android 應用程序動態(tài)分析 188
6.4.1 向 Smali 代碼中添加 debug 日志 189
6.4.2 利用 Frida 框架進行逆向動態(tài)分析191
6.5 二進制文件逆向分析207
6.5.1 利用 objdump 逆向分析207
6.5.2 利用 IDA 進行逆向靜態(tài)分析208
6.5.3 利用 IDA 進行動態(tài)逆向分析210
6.6 加殼與脫殼技術213
6.6.1 相關基礎知識214
6.6.2 加殼技術實現(xiàn)原理215
6.6.3 脫殼技術實現(xiàn)原理217
6.7 App 逆向分析實戰(zhàn)一221
6.8 App 逆向分析實戰(zhàn)二225
6.9 本章小結228
6.10 本章練習 228
第 7 章 分布式爬蟲系統(tǒng)關鍵技術 229
7.1 常用的分布式架構模式229
7.1.1 主從模式229
7.1.2 自治模式230
7.2 任務調度策略231
7.2.1 基于數(shù)據(jù)分區(qū)的調度策略231
7.2.2 基于資源感知的調度策略234
7.2.3 基于優(yōu)先級的調度策略235
7.2.4 基于自定義規(guī)則的調度策略235
7.3 任務調度器236
7.3.1 Quartz236
7.3.2 ElasticJob 238
7.3.3 XXL-JOB 239
7.4 分布式消息隊列240
7.4.1 應用場景241
7.4.2 分布式消息隊列的類型241
7.5 服務注冊與發(fā)現(xiàn)242
服務注冊與發(fā)現(xiàn)架構類型242
7.6 完全重復內容檢測245
7.6.1 布隆過濾器245
7.6.2 基于哈希指紋的重復性檢測247
7.7 近似重復內容檢測248
7.7.1 基于詞特征的文本相似度計算算法248
7.7.2 基于深度學習的文本相似度計算算法249
7.7.3 近似最近鄰算法250
7.8 本章小結253
7.9 本章練習253
第 8 章 分布式爬蟲系統(tǒng)實戰(zhàn) 254
8.1 需求分析254
8.1.1 功能需求分析254
8.1.2 非功能需求分析255
8.2 系統(tǒng)設計與實現(xiàn)255
8.2.1 總體設計256
8.2.2 爬取任務調度模塊257
8.2.3 反爬蟲對抗組件259
8.2.4 系統(tǒng)監(jiān)控模塊261
8.2.5 重復內容過濾模塊263
8.2.6 內容相關性識別模塊271
8.2.7 爬取任務執(zhí)行模塊273
8.2.8 系統(tǒng)底層存儲設計279
8.3 本章小結281
8.4 本章練習281

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.shuitoufair.cn 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號