展开全部

主编推荐语

全面而系统地介绍与网络爬虫程序相关的理论知识。

内容简介

全书共分为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月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。