计算机
类型
可以朗读
语音朗读
250千字
字数
2024-10-01
发行日期
展开全部
主编推荐语
全面而系统地介绍与网络爬虫程序相关的理论知识。
内容简介
全书共分为8章。
第1章以自动化框架为基础,介绍网络爬虫程序的入门开发实践。第2章深入讲解网页内容的处理、解析技术和数据提取方法。第3章讨论验证码识别技术以及如何有效绕过验证码的策略。第4章涉及网络抓包技术及其对抗策略。
第5章深入探讨JavaScript代码的混淆技术与逆向分析方法。第6章专注于移动端应用程序的数据爬取技术及相关逆向分析技术。第7章介绍构建分布式网络爬虫系统所需的关键技术。第8章通过实战案例,展示分布式网络爬虫系统设计与实现的思路。
目录
- 版权信息
- 内容简介
- 作者简介
- 前言
- 第1章 网络爬虫开发入门实践
- 1.1 Java网络爬虫框架概览
- 1.2 搭建开发环境
- 1.2.1 搭建Java开发环境
- 1.2.2 搭建Selenium开发环境
- 1.3 简单Web爬虫程序示例
- 1.3.1 获取网页内容并打印
- 1.3.2 利用XPath获取指定元素
- 1.3.3 单击搜索按钮
- 1.3.4 获取iframe元素中的数据
- 1.3.5 使用更加优雅的等待方式
- 1.3.6 实现屏幕截图
- 1.3.7 执行JavaScript脚本
- 1.4 WebDriver选项配置
- 1.4.1 浏览器通用选项配置
- 1.4.2 Chrome浏览器特定选项配置
- 1.4.3 Chrome DevTools Protocol
- 1.5 BrowserMob Proxy
- 1.6 其他主流Web自动化测试框架
- 1.6.1 Puppeteer
- 1.6.2 Playwright
- 1.7 本章小结
- 1.8 本章练习
- 第2章 网页内容解析与提取
- 2.1 Selenium元素定位器
- 2.2 基于正则表达式的内容解析与提取
- 2.2.1 正则表达式的基础语法
- 2.2.2 正则表达式的高级应用技巧
- 2.2.3 正则表达式的应用场景
- 2.3 基于JsonPath的内容解析与提取
- 2.4 本章小结
- 2.5 本章练习
- 第3章 验证码绕过与识别
- 3.1 验证码介绍
- 3.1.1 基于文本识别的验证码
- 3.1.2 基于图片识别的验证码
- 3.1.3 基于语音识别的验证码
- 3.1.4 基于行为识别的智能验证码
- 3.2 避免CAPTCHA验证码触发
- 3.3 CAPTCHA验证码生成
- 3.3.1 文本验证码的生成
- 3.3.2 滑块验证码的生成
- 3.3.3 点选验证码的生成
- 3.4 CAPTCHA验证码识别
- 3.4.1 文本验证码识别方案1
- 3.4.2 文本验证码识别方案2
- 3.4.3 滑块验证码的识别
- 3.4.4 点选验证码的识别
- 3.5 本章小结
- 3.6 本章练习
- 第4章 网络抓包与对抗
- 4.1 Fiddler
- 4.1.1 Fiddler的安装配置与基础功能使用
- 4.1.2 Fiddler的高级特性
- 4.2 Charles
- 4.3 Wireshark
- 4.4 SSL Pinning保护机制下的网络数据抓包
- 4.4.1 配置自定义CA证书
- 4.4.2 添加抓包软件证书到系统信任的CA证书列表
- 4.4.3 使用Hook技术
- 4.5 JustTrustMe的工作原理
- 4.5.1 SSL Pinning机制的实现
- 4.5.2 JustTrustMe模块Hook操作的实现原理
- 4.6 本章小结
- 4.7 本章练习
- 第5章 JavaScript逆向分析技术
- 5.1 常见的反爬虫策略及其应对方案
- 5.1.1 基于访问频率的检查与访问限制
- 5.1.2 基于请求参数和请求头信息的反爬虫技术
- 5.1.3 基于蜜罐机制的反爬虫技术
- 5.1.4 隐藏网页的跳转链接
- 5.2 浏览器指纹识别与修复
- 5.2.1 浏览器指纹识别的工作原理
- 5.2.2 浏览器指纹泄露
- 5.2.3 浏览器指纹泄露修复
- 5.3 JavaScript代码保护技术
- 5.3.1 JavaScript代码反调试技术
- 5.3.2 基于完整性检测的代码保护技术
- 5.3.3 限制JavaScript代码执行环境
- 5.3.4 JavaScript代码混淆技术
- 5.4 JavaScript抽象语法树
- 5.4.1 抽象语法树的结构
- 5.4.2 抽象语法树的生成过程
- 5.4.3 操作抽象语法树
- 5.4.4 操作抽象语法树反混淆基础实践
- 5.5 JavaScript Hook技术
- 5.6 JavaScript逆向工程实践
- 5.6.1 JavaScript反混淆实战
- 5.6.2 JavaScript Hook技术实战
- 5.7 本章小结
- 5.8 本章练习
- 第6章 App数据爬取与逆向分析
- 6.1 基于抓包分析的App数据爬取
- 6.2 基于Appium自动化框架的App数据采集
- 6.2.1 Appium简介
- 6.2.2 Appium环境搭建
- 6.2.3 Appium 2.x和Appium 1.x
- 6.2.4 移动端Web爬虫开发实践
- 6.2.5 移动端Native App爬虫开发实践
- 6.2.6 移动端Hybrid App爬虫开发实践
- 6.2.7 Appium开发环境的常见错误与处理技巧
- 6.3 Android应用程序静态分析
- 6.3.1 Android应用程序基本结构剖析
- 6.3.2 Android应用程序构建过程
- 6.3.3 Smali代码分析
- 6.4 Android应用程序动态分析
- 6.4.1 向Smali代码中添加debug日志
- 6.4.2 利用Frida框架进行逆向动态分析
- 6.5 二进制文件逆向分析
- 6.5.1 利用objdump逆向分析
- 6.5.2 利用IDA进行逆向静态分析
- 6.5.3 利用IDA进行动态逆向分析
- 6.6 加壳与脱壳技术
- 6.6.1 相关基础知识
- 6.6.2 加壳技术实现原理
- 6.6.3 脱壳技术实现原理
- 6.7 App逆向分析实战一
- 6.8 App逆向分析实战二
- 6.9 本章小结
- 6.10 本章练习
- 第7章 分布式爬虫系统关键技术
- 7.1 常用的分布式架构模式
- 7.1.1 主从模式
- 7.1.2 自治模式
- 7.2 任务调度策略
- 7.2.1 基于数据分区的调度策略
- 7.2.2 基于资源感知的调度策略
- 7.2.3 基于优先级的调度策略
- 7.2.4 基于自定义规则的调度策略
- 7.3 任务调度器
- 7.3.1 Quartz
- 7.3.2 ElasticJob
- 7.3.3 XXL-JOB
- 7.4 分布式消息队列
- 7.4.1 应用场景
- 7.4.2 分布式消息队列的类型
- 7.5 服务注册与发现
- 服务注册与发现架构类型
- 7.6 完全重复内容检测
- 7.6.1 布隆过滤器
- 7.6.2 基于哈希指纹的重复性检测
- 7.7 近似重复内容检测
- 7.7.1 基于词特征的文本相似度计算算法
- 7.7.2 基于深度学习的文本相似度计算算法
- 7.7.3 近似最近邻算法
- 7.8 本章小结
- 7.9 本章练习
- 第8章 分布式爬虫系统实战
- 8.1 需求分析
- 8.1.1 功能需求分析
- 8.1.2 非功能需求分析
- 8.2 系统设计与实现
- 8.2.1 总体设计
- 8.2.2 爬取任务调度模块
- 8.2.3 反爬虫对抗组件
- 8.2.4 系统监控模块
- 8.2.5 重复内容过滤模块
- 8.2.6 内容相关性识别模块
- 8.2.7 爬取任务执行模块
- 8.2.8 系统底层存储设计
- 8.3 本章小结
- 8.4 本章练习
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。