×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787302627661
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:332
  • 出版时间:2023-05-01
  • 条形码:9787302627661 ; 978-7-302-62766-1

本书特色

本书是Python网络开发从业者的提升方向,理论结合实践,是一本全面的学习指南。 多年企业开发经验的总结,指明Python网络开发从业者的提升方向,配套源代码和视频讲解

内容简介

本书主要满足网络爬虫从业者提升技术能力的需求。本书共9章,涉及经典爬虫框架Scrapy的架构、异步爬虫的原理及其实现、异步自动化浏览器控制库pyppeteer的使用、当下流行的反爬虫原理及其处理方案、基于常用通信中间件的分布式爬虫框架开发、Python常用的编码和加密的应用、针对前端深入的JavaScript分析策略和安全策略、网络搜索引擎的原理和技术实现,并在*后一章创建了一个垂直领域的搜索引擎系统。 本书面向网络爬虫开发的初、中级开发人员,以及对网络爬虫有一定基础的兴趣爱好者。

目录

第1章 Scrapy框架
1.1 关于Scrapy
1.1.1 Serapy简介
1.1.2 Scrapy安装
1.2 Scrapy基础
1.2.1 Scrapy测试流程
1.2.2 Scrapy开发流程
1.2.3 Scrapy框架架构
1.2.4 Request对象和Response对象
1.2.5 HTML页面解析
1.2.6 HTML页面泛解析
1.3 爬虫组件
1.3.1 基础爬虫
1.3.2 通用爬虫
1.4 中间件组件
1.4.1 爬虫中间件
1.4.2 下载中间件
1.4.3 随机UserAgent中间件
1.4.4 Selenium中间件
1.4.5 pyppeteer中间件
1.5 数据管道组件
1.5.1 自定义Pipeline
1.5.2 文件下载Pipeline
1.5.3 文件下载案例
1.6 数据导出器组件
1.6.1 内置数据导出器
1.6.2 自定义数据导出器
1.7 分布式Scrapy
1.7.1 分布式架构
1.7.2 分布式通信队列
1.7.3 分布式爬虫
1.7.4 分布式调度
1.7.5 分布式去重
1.7.6 自定义去重组件
1.7.7 基本开发流程
1.8 Scrapy参考手册
1.8.1 常用命令
1.8.2 常用配置项
1.9 案例:使用Scrapy获取当当网商品信息
1.9.1 项目需求
1.9.2 项目分析
1.9.3 编码实现
1.9.4 容器化部署

第2章 异步爬虫
2.1 异步I/O与协程
2.1.1 迭代器与生成器
2.1.2 yield from关键字
2.1.3 Python协程原理
2.2 asyncio异步框架
2.2.1 创建可等待对象
2.2.2 运行asyncio程序
2.2.3 asyncio结果回调
2.2.4 asyncio并发和多线程
2.3 异步请求和文件操作
2.3.1 aiohttp异步请求库
2.3.2 requests异步方案
2.3.3 aiofiles异步文件操作
2.4 异步数据库
2.4.1 MySQL异步读写
2.4.2 MongoDB异步读写
2.4.3 Redis异步读写
2.5 案例:全流程异步爬虫的运用
2.5.1 案例需求
2.5.2 案例分析
2.5.3 编码实现

第3章 pyppeteer
3.1 pyppeteer基础
3.1.1 pyppeteer简介
3.1.2 pyppeteer环境安装
3.2 pyppeteer的常用内部方法
3.2.1 浏览器启动器
3.2.2 页面常用操作
3.2.3 页面Cookie处理
3.2.4 页面节点选择器
3.2.5 键盘和鼠标操作
3.2.6 内嵌框处理
3.2.7 JavaScript操作
3.2.8 Request和Response
3.3 pyppeteer常用操作
3.3.1 启动项参数设置
3.3.2 识别特征处理
3.3.3 配置代理及认证
3.3.4 拦截请求和响应
3.4 案例:pyppeteer动态代理的切换

第4章 反爬虫
4.1 设备指纹
4.1.1 Canvas指纹
4.1.2 WebGL指纹
4.1.3 Font指纹
4.1.4 AudioContext指纹
4.2 滑动验证
4.2.1 滑动距离识别
4.2.2 轨迹生成算法
4.2.3 滑动验证示例
4.3 字体反爬虫
4.3.1 字体反爬虫原理
4.3.2 通用解决方案
4.3.3 字体反爬虫示例
4.4 CSS样式反爬虫
4.4.1 元素排序覆盖
4.4.2 雪碧图拼凑
4.4.3 选择器插入
4.5 动态渲染
4.5.1 Ajax动态加载信息
4.5.2 requests-html渲染
4.5.3 替Splash渲染方案
4.6 图片验证码
4.6.1 验证码生成及验证原理
4.6.2 Tesseract 4环境部署
4.6.3 二值化、去噪点和识别
4.6.4 Tesseract 4样本训练
4.7 IP限制
4.7.1 代理技术原理及发展现状
4.7.2 全新分布式家庭代理
4.7.3 零成本纯净测试IP

第5章 分布式爬虫系统的设计
5.1 消息系统的消息传递模式
5.1.1 发布-订阅模式
5.1.2 点对点模式
5.1.3 Redis发布-订阅框架
5.2 基于RabbitMQ中间件的设计
5.2.1 RabbitMQ基础
5.2.2 Docker部署RabbitMQ
5.2.3 RabbitMQ可视化管理
5.2.4 Python中使用RabbitMQ
5.3 基于Kafka中间件的设计
5.3.1 Kafka基础
5.3.2 docker部署Kafka集群
5.3.3 Kafka可视化管理
5.3.4 Python中使用Kafka
5.4 基于Celery分布式框架的设计
5.4.1 Celery基础
5.4.2 Celery的使用
5.4.3 Celery可视化管理
5.4.4 路由任务与定时任务

第6章 编码及加密
6.1 编码及转换
6.1.1 编码与乱码原理
6.1.2 URL编码转换
6.1.3 Bytes对象
6.1.4 Base64编码
6.2 加密与解密
6.2.1 概述
6.2.2 DES与3DES
6.2.3 AES加密
6.2.4 RSA加密及签名
6.2.5 散列函数

第7章 JavaScript安全分析
7.1 JavaSeript分析基础
7.1.1 浏览器开发者工具
7.1.2 断点及动态调试
7.1.3 加密库CryptoJS
7.1.4 Python中运行JavaScript
7.2 JavaScript入口定位
7.2.1 全局搜索
7.2.2 事件记录器
7.2.3 油猴插件Hook
7.3 JavaScript防护
7.3.1 域名锁定
7.3.2 源码校验
7.3.3 防格式化
7.3.4 鼠标轨迹检测
7.3.5 控制面板检测
7.3.6 浏览器特征检测
7.3.7 浏览器指纹检测
7.3.8 debugger反调试
7.4 AST基础
7.4.1 抽象语法树
7.4.2 基于AST混淆策略
7.4.3 Ob混淆工具
7.5 Babel插件开发
7.5.1 Babel及模块
7.5.2 解析与生成
7.5.3 AST转换
7.5.4 节点类型
7.5.5 节点与路径
7.5.6 作用域管理
7.6 案例:Ob混淆还原
7.6.1 编码还原
7.6.2 算术表达式还原
7.6.3 长数组还原
7.6.4 控制流还原
7.6.5 逗号表达式还原
7.6.6 一些细节处理
7.7 独立源码运行
7.7.1 运行环境监测
7.7.2 构建window对象
7.7.3 调用JavaScript代码
7.7.4 案例:调用JavaScript源码实现接口请求

第8章 搜索引擎技术
8.1 搜索引擎概述
8.1.1 概述
8.1.2 系统架构
8.1.3 网络爬虫
8.1.4 倒排索引
8.2 Elasticsearch引擎
8.2.1 Elasticsearch简介
8.2.2 Elasticsearch集群部署
8.2.3 索引管理
8.2.4 插入文档
8.2.5 删除文档
8.2.6 更新文档
8.2.7 文档批处理
8.2.8 文档搜索
8.2.9 Python操作Elasticsearch

第9章 项目:创建搜索引擎系统
9.1 项目简介
9.1.1 项目概述
9.1.2 环境准备
9.2 搜索引擎爬虫
9.2.1 分布式通用爬虫
9.2.2 修改配置试运行
9.2.3 保存数据到Elasticsearch
9.2.4 布隆过滤器去重
9.3 前端交互
9.3.1 前端页面
9.3.2 后端服务
9.3.3 模板渲染
9.4.1 项目部署
9.4 基础服务部署
9.4.2 爬虫部署
附录A 参考资源网址
展开全部

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航