JAVA網(wǎng)絡(luò)爬蟲精解與實踐 版權(quán)信息
- ISBN:9787302674849
- 條形碼:9787302674849 ; 978-7-302-67484-9
- 裝幀:平裝-膠訂
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
JAVA網(wǎng)絡(luò)爬蟲精解與實踐 本書特色
《Java網(wǎng)絡(luò)爬蟲精解與實踐》是一本旨在幫助讀者使用Java開發(fā)高效網(wǎng)絡(luò)爬蟲系統(tǒng)的實用指南。深入剖析開源爬蟲框架,掌握Web數(shù)據(jù)采集、解析和提取,驗證碼生成和識別,以及分布式網(wǎng)絡(luò)爬蟲架構(gòu)設(shè)計等關(guān)鍵知識。覆蓋手機(jī)APP通信抓包、逆向分析等技術(shù),掌握基于手機(jī)APP的數(shù)據(jù)采集。*后,搭建完整的招聘領(lǐng)域網(wǎng)絡(luò)爬蟲系統(tǒng),自動解析招聘信息,與搜索和推薦系統(tǒng)集成。《Java網(wǎng)絡(luò)爬蟲精解與實踐》實用性強(qiáng),提供豐富示例代碼,適合IT從業(yè)者、開發(fā)人員、培訓(xùn)機(jī)構(gòu)及教學(xué)使用。無論您是深入學(xué)習(xí)網(wǎng)絡(luò)爬蟲或初學(xué)者,《Java網(wǎng)絡(luò)爬蟲精解與實踐》將帶您踏上精彩的學(xué)習(xí)之旅,提升數(shù)據(jù)爬取和處理能力。
JAVA網(wǎng)絡(luò)爬蟲精解與實踐 內(nèi)容簡介
"《Java網(wǎng)絡(luò)爬蟲精解與實踐》全面而系統(tǒng)地介紹與網(wǎng)絡(luò)爬蟲程序相關(guān)的理論知識,并包含大量的實踐操作案例。
《Java網(wǎng)絡(luò)爬蟲精解與實踐》共分為 8 章。第 1 章以自動化框架為基礎(chǔ),介紹網(wǎng)絡(luò)爬蟲程序的入門開發(fā)實踐。第 2 章深入講解網(wǎng)頁內(nèi)容的處理、解析技術(shù)和數(shù)據(jù)提取方法。第 3 章討論驗證碼識別技術(shù)以及如何有效繞過驗證碼的策略。第 4 章涉及網(wǎng)絡(luò)抓包技術(shù)及其對抗策略。第 5 章深入探討 JavaScript 代碼的混淆技術(shù)與逆向分析方法。第 6 章專注于移動端應(yīng)用程序的數(shù)據(jù)爬取技術(shù)及相關(guān)逆向分析技術(shù)。第 7 章介紹構(gòu)建分布式網(wǎng)絡(luò)爬蟲系統(tǒng)所需的關(guān)鍵技術(shù)。第 8 章通過實戰(zhàn)案例,展示分布式網(wǎng)絡(luò)爬蟲系統(tǒng)設(shè)計與實現(xiàn)的思路。通過學(xué)習(xí)本書,讀者將顯著提升網(wǎng)絡(luò)爬蟲系統(tǒng)的設(shè)計與實現(xiàn)能力,并增強(qiáng)對網(wǎng)頁代碼及移動端應(yīng)用程序代碼的逆向分析水平。
《Java網(wǎng)絡(luò)爬蟲精解與實踐》的內(nèi)容不僅涵蓋理論知識,還注重實踐操作,適合廣大網(wǎng)絡(luò)爬蟲程序開發(fā)愛好者閱讀。同時,《Java網(wǎng)絡(luò)爬蟲精解與實踐》也適合作為培訓(xùn)機(jī)構(gòu)和學(xué)校的教學(xué)參考用書。"
JAVA網(wǎng)絡(luò)爬蟲精解與實踐 目錄
第 1 章 網(wǎng)絡(luò)爬蟲開發(fā)入門實踐 11.1 Java 網(wǎng)絡(luò)爬蟲框架概覽11.2 搭建開發(fā)環(huán)境51.2.1 搭建 Java 開發(fā)環(huán)境51.2.2 搭建 Selenium 開發(fā)環(huán)境61.3 簡單 Web 爬蟲程序示例71.3.1 獲取網(wǎng)頁內(nèi)容并打印71.3.2 利用 XPath 獲取指定元素81.3.3 單擊搜索按鈕91.3.4 獲取 iframe 元素中的數(shù)據(jù) 91.3.5 使用更加優(yōu)雅的等待方式101.3.6 實現(xiàn)屏幕截圖121.3.7 執(zhí)行 JavaScript 腳本121.4 WebDriver 選項配置3第 1 章 網(wǎng)絡(luò)爬蟲開發(fā)入門實踐 11.1 Java 網(wǎng)絡(luò)爬蟲框架概覽11.2 搭建開發(fā)環(huán)境51.2.1 搭建 Java 開發(fā)環(huán)境51.2.2 搭建 Selenium 開發(fā)環(huán)境61.3 簡單 Web 爬蟲程序示例71.3.1 獲取網(wǎng)頁內(nèi)容并打印71.3.2 利用 XPath 獲取指定元素81.3.3 單擊搜索按鈕91.3.4 獲取 iframe 元素中的數(shù)據(jù) 91.3.5 使用更加優(yōu)雅的等待方式101.3.6 實現(xiàn)屏幕截圖121.3.7 執(zhí)行 JavaScript 腳本121.4 WebDriver 選項配置31.4.1 瀏覽器通用選項配置131.4.2 Chrome 瀏覽器特定選項配置 141.4.3 Chrome DevTools Protocol141.5 BrowserMob Proxy 181.6 其他主流 Web 自動化測試框架191.6.1 Puppeteer201.6.2 Playwright201.7 本章小結(jié)211.8 本章練習(xí)21第 2 章 網(wǎng)頁內(nèi)容解析與提取 242.1 Selenium 元素定位器242.2 基于正則表達(dá)式的內(nèi)容解析與提取272.2.1 正則表達(dá)式的基礎(chǔ)語法272.2.2 正則表達(dá)式的高級應(yīng)用技巧292.2.3 正則表達(dá)式的應(yīng)用場景312.3 基于 JsonPath 的內(nèi)容解析與提取342.4 本章小結(jié)362.5 本章練習(xí)36 IV Java 網(wǎng)絡(luò)爬蟲精解與實踐第 3 章 驗證碼繞過與識別 383.1 驗證碼介紹383.1.1 基于文本識別的驗證碼393.1.2 基于圖片識別的驗證碼393.1.3 基于語音識別的驗證碼403.1.4 基于行為識別的智能驗證碼403.2 避免 CAPTCHA 驗證碼觸發(fā) 403.3 CAPTCHA 驗證碼生成 423.3.1 文本驗證碼的生成423.3.2 滑塊驗證碼的生成433.3.3 點選驗證碼的生成453.4 CAPTCHA 驗證碼識別 473.4.1 文本驗證碼識別方案 1 473.4.2 文本驗證碼識別方案 2 523.4.3 滑塊驗證碼的識別563.4.4 點選驗證碼的識別593.5 本章小結(jié)653.6 本章練習(xí)66第 4 章 網(wǎng)絡(luò)抓包與對抗 674.1 Fiddler 674.1.1 Fiddler 的安裝配置與基礎(chǔ)功能使用 674.1.2 Fiddler 的高級特性 704.2 Charles734.3 Wireshark 754.4 SSL Pinning 保護(hù)機(jī)制下的網(wǎng)絡(luò)數(shù)據(jù)抓包784.4.1 配置自定義 CA 證書 794.4.2 添加抓包軟件證書到系統(tǒng)信任的 CA 證書列表 824.4.3 使用 Hook 技術(shù)844.5 JustTrustMe 的工作原理 864.5.1 SSL Pinning 機(jī)制的實現(xiàn)864.5.2 JustTrustMe 模塊 Hook 操作的實現(xiàn)原理894.6 本章小結(jié)904.7 本章練習(xí)91第 5 章 JavaScript 逆向分析技術(shù) 925.1 常見的反爬蟲策略及其應(yīng)對方案925.1.1 基于訪問頻率的檢查與訪問限制925.1.2 基于請求參數(shù)和請求頭信息的反爬蟲技術(shù)945.1.3 基于蜜罐機(jī)制的反爬蟲技術(shù)945.1.4 隱藏網(wǎng)頁的跳轉(zhuǎn)鏈接955.2 瀏覽器指紋識別與修復(fù)965.2.1 瀏覽器指紋識別的工作原理965.2.2 瀏覽器指紋泄露975.2.3 瀏覽器指紋泄露修復(fù)985.3 JavaScript 代碼保護(hù)技術(shù)985.3.1 JavaScript 代碼反調(diào)試技術(shù) 995.3.2 基于完整性檢測的代碼保護(hù)技術(shù)1065.3.3 限制 JavaScript 代碼執(zhí)行環(huán)境1115.3.4 JavaScript 代碼混淆技術(shù) 1115.4 JavaScript 抽象語法樹1225.4.1 抽象語法樹的結(jié)構(gòu)1235.4.2 抽象語法樹的生成過程1245.4.3 操作抽象語法樹1265.4.4 操作抽象語法樹反混淆基礎(chǔ)實踐1315.5 JavaScript Hook 技術(shù) 1375.6 JavaScript 逆向工程實踐1435.6.1 JavaScript 反混淆實戰(zhàn) 1435.6.2 JavaScript Hook 技術(shù)實戰(zhàn) 1565.7 本章小結(jié)1605.8 本章練習(xí)161第 6 章 App 數(shù)據(jù)爬取與逆向分析 1626.1 基于抓包分析的 App 數(shù)據(jù)爬取 1626.2 基于 Appium 自動化框架的 App 數(shù)據(jù)采集1636.2.1 Appium 簡介 1636.2.2 Appium 環(huán)境搭建 1646.2.3 Appium 2.x 和 Appium 1.x1666.2.4 移動端 Web 爬蟲開發(fā)實踐1686.2.5 移動端 Native App 爬蟲開發(fā)實踐 1716.2.6 移動端 Hybrid App 爬蟲開發(fā)實踐1736.2.7 Appium 開發(fā)環(huán)境的常見錯誤與處理技巧 1756.3 Android 應(yīng)用程序靜態(tài)分析 1776.3.1 Android 應(yīng)用程序基本結(jié)構(gòu)剖析1776.3.2 Android 應(yīng)用程序構(gòu)建過程1806.3.3 Smali 代碼分析1826.4 Android 應(yīng)用程序動態(tài)分析 1886.4.1 向 Smali 代碼中添加 debug 日志 1896.4.2 利用 Frida 框架進(jìn)行逆向動態(tài)分析1916.5 二進(jìn)制文件逆向分析2076.5.1 利用 objdump 逆向分析2076.5.2 利用 IDA 進(jìn)行逆向靜態(tài)分析2086.5.3 利用 IDA 進(jìn)行動態(tài)逆向分析2106.6 加殼與脫殼技術(shù)2136.6.1 相關(guān)基礎(chǔ)知識2146.6.2 加殼技術(shù)實現(xiàn)原理2156.6.3 脫殼技術(shù)實現(xiàn)原理2176.7 App 逆向分析實戰(zhàn)一2216.8 App 逆向分析實戰(zhàn)二2256.9 本章小結(jié)2286.10 本章練習(xí) 228第 7 章 分布式爬蟲系統(tǒng)關(guān)鍵技術(shù) 2297.1 常用的分布式架構(gòu)模式2297.1.1 主從模式2297.1.2 自治模式2307.2 任務(wù)調(diào)度策略2317.2.1 基于數(shù)據(jù)分區(qū)的調(diào)度策略2317.2.2 基于資源感知的調(diào)度策略2347.2.3 基于優(yōu)先級的調(diào)度策略2357.2.4 基于自定義規(guī)則的調(diào)度策略2357.3 任務(wù)調(diào)度器2367.3.1 Quartz2367.3.2 ElasticJob 2387.3.3 XXL-JOB 2397.4 分布式消息隊列2407.4.1 應(yīng)用場景2417.4.2 分布式消息隊列的類型2417.5 服務(wù)注冊與發(fā)現(xiàn)242服務(wù)注冊與發(fā)現(xiàn)架構(gòu)類型2427.6 完全重復(fù)內(nèi)容檢測2457.6.1 布隆過濾器2457.6.2 基于哈希指紋的重復(fù)性檢測2477.7 近似重復(fù)內(nèi)容檢測2487.7.1 基于詞特征的文本相似度計算算法2487.7.2 基于深度學(xué)習(xí)的文本相似度計算算法2497.7.3 近似*近鄰算法2507.8 本章小結(jié)2537.9 本章練習(xí)253第 8 章 分布式爬蟲系統(tǒng)實戰(zhàn) 2548.1 需求分析2548.1.1 功能需求分析2548.1.2 非功能需求分析2558.2 系統(tǒng)設(shè)計與實現(xiàn)2558.2.1 總體設(shè)計2568.2.2 爬取任務(wù)調(diào)度模塊2578.2.3 反爬蟲對抗組件2598.2.4 系統(tǒng)監(jiān)控模塊2618.2.5 重復(fù)內(nèi)容過濾模塊2638.2.6 內(nèi)容相關(guān)性識別模塊2718.2.7 爬取任務(wù)執(zhí)行模塊2738.2.8 系統(tǒng)底層存儲設(shè)計2798.3 本章小結(jié)2818.4 本章練習(xí)281
展開全部
JAVA網(wǎng)絡(luò)爬蟲精解與實踐 作者簡介
張 凱中國科學(xué)院大學(xué)軟件工程專業(yè)碩士,研究方向為操作系統(tǒng)虛擬化,畢業(yè)后先后供職于微策略、新浪微博,目前供職于粉筆科技,任技術(shù)總監(jiān)職務(wù),擔(dān)任爬蟲平臺、內(nèi)容審核平臺等多個重要系統(tǒng)技術(shù)負(fù)責(zé)人。對網(wǎng)絡(luò)爬蟲、高可用架構(gòu)設(shè)計和文本分類領(lǐng)域有著深入研究。