失效链接处理 |
解析Python网络爬虫 核心技术、Scrapy框架、分布式爬虫 PDF 下载
下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/25343952.html
相关截图: 资料简介: 网络爬虫是一种按照一定的规则,自动请求万维网网站并提取网络数据的程序或脚本,它可以代替人力进行信息采集,能够自动采集并高效地利用互联网中的数据,在市场的应用需求中占据着重要的位置。 本书以Windows为主要平台,系统全面地讲解了Python网络爬虫的相关知识。主要内容包括:初识爬虫、爬虫的实现原理和技术、网页请求原理、爬取网页数据、数据解析、并发下载、图像识别与文字处理、存储爬虫数据、初识爬虫框架Scrapy、Scrapy终端与核心组件、自动爬取网页的爬虫 CrawSpider、Scrapy-Redis分布式爬虫。 本书适合作为高等院校计算机相关专业程序设计课程教材,也可作为Python网络爬虫的培训教材,以及广大编程开发者的爬虫入门级教材。 资料目录: 第1章初识爬虫 1 1.1 爬虫产生背景 1 1.2 爬虫的概念 2 1.3 爬虫的用途 2 1.4 爬虫的分类 3 1.4.1 通用爬虫和聚焦爬虫 3 1.4.2 累积式爬虫和增量式爬虫 4 1.4.3 表层爬虫和深层爬虫 4 小结5 习题5 第2章爬虫的实现原理和技术 6 2.1 爬虫实现原理 6 2.1.1 通用爬虫工作原理 6 2.1.2 聚焦爬虫工作原理 8 2.2 爬虫爬取网页的详细流程 9 2.3 通用爬虫中网页的分类 10 2.4 通用爬虫相关网站文件 10 2.4.1 robots.txt文件 11 2.4.2 Sitemap.xml文件 12 2.5 防爬虫应对策略 12 2.6 选择Python做爬虫的原因 14 2.7 案例——使用八爪鱼工具爬取 个网页 14 小结21 习题21 第3章网页请求原理 23 3.1 浏览网页过程 23 3.1.1 统一资源定位符 24 3.1.2 计算机域名系统 25 3.2 HTTP网络请求原理 25 3.2.1 分析浏览器显示完整网页 的过程 26 3.2.2 客户端HTTP请求格式 26 3.2.3 服务端HTTP响应格式 30 3.3 HTTP抓包工具Fiddler 32 3.3.1 Fiddler工作原理 32 3.3.2 Fiddler下载安装 32 3.3.3 Fiddler界面详解 33 3.3.4 Fiddler爬取HTTPS设置 35 3.3.5 使用Fiddler捕获Chrome 的会话 37 小结40 习题40 第4章爬取网页数据 42 4.1 urllib库概述 42 4.2 快速使用urllib爬取网页 43 4.2.1 快速爬取一个网页 43 4.2.2 分析urlopen()方法 44 4.2.3 使用HTTPResponse对象 45 4.2.4 构造Request对象 46 4.3 使用urllib实现数据传输 47 4.3.1 URL编码转换 47 4.3.2 处理GET请求 48 4.3.3 处理POST请求 49 4.4 添加特定Headers——请求伪装 51 4.5 代理服务器 52 4.5.1 简单的自定义opener 52 4.5.2 设置代理服务器 53 4.6 超时设置 54 4.7 常见的网络异常 55 4.7.1 URLError异常和捕获 55 4.7.2 HttpError异常和捕获 55 4.8 更人性化的requests库 56 4.8.1 requests库概述 56 4.8.2 requests库初体验 56 4.8.3 发送请求 58 4.8.4 返回响应 58 4.9 案例——使用urllib库爬取百度 贴吧 59 小结61 习题61 第5章数据解析 63 5.1 网页数据和结构 63 5.1.1 网页数据格式 63 5.1.2 网页结构 64 5.2 数据解析技术 64 5.3 正则表达式 65 5.4 XPath与lxml解析库 66 5.4.1 XPath概述 66 5.4.2 XPath语法 67 5.4.3 XPath开发工具 70 5.4.4 lxml库概述 72 5.4.5 lxml库的基本使用 75 5.5 Beautiful Soup 77 5.5.1 Beautiful Soup概述 77 5.5.2 构建BeautifulSoup对象 78 5.5.3 通过操作方法进行解读 搜索 80 5.5.4 通过CSS选择器进行搜索 83 5.6 JSONPath与json模块 85 5.6.1 JSON概述 85 5.6.2 JSON与XML比较 86 5.6.3 json模块介绍 87 5.6.4 json模块基本应用 88 5.6.5 JSONPath简介 90 5.6.6 JSONPath语法对比 90 5.6.7 案例——获取拉勾网城市 列表 92 5.7 案例——解析腾讯社会招聘网站 的职位信息 94 5.7.1 明确爬虫爬取目标 95 5.7.2 分析要解析的数据 95 5.7.3 使用urllib库爬取社招网 数据 96 5.7.4 使用正则、lxml、bs4解析 职位数据 98 5.7.5 将数据保存到文件中 103 小结104 习题104 第6章并发下载 106 6.1 多线程爬虫流程分析 106 6.2 使用queue模块实现多线程 爬虫 107 6.2.1 queue(队列)模块简介 107 6.2.2 Queue类概述 109 6.3 协程实现并发爬取 110 6.3.1 协程爬虫的流程分析 111 6.3.2 第三方库gevent 111 6.4 案例——三种技术采集和解析 数据对比 112 6.4.1 单线程实现 112 6.4.2 多线程实现 114 6.4.3 协程实现 119 6.4.4 性能分析 122 小结123 习题123 第7章爬取动态内容 124 7.1 动态网页介绍 124 7.2 selenium和PhantomJS概述 125 7.3 selenium和PhantomJS安装 配置 126 7.4 selenium和PhantomJS的基本 应用 128 7.4.1 入门操作 128 7.4.2 定位UI元素 133 7.4.3 鼠标动作链 135 7.4.4 填充表单 136 7.4.5 弹窗处理 137 7.4.6 页面切换 138 7.4.7 页面前进和后退 138 7.4.8 获取页面Cookies 138 7.4.9 页面等待 138 7.5 案例——模拟豆瓣网站登录 140 小结142 习题142 第8章图像识别与文字处理 145 8.1 OCR技术概述 145 8.2 Tesseract引擎的下载和安装 147 8.3 pytesseract和PIL库概述 148 8.3.1 pytesseract库概述 149 8.3.2 PIL库概述 149 8.4 处理规范格式的文字 150 8.4.1 读取图像中格式规范的 文字 151 8.4.2 对图片进行阈值过滤和 降噪处理 151 8.4.3 识别图像的中文字符 153 8.5 处理验证码 154 8.5.1 验证码分类 154 8.5.2 简单识别图形验证码 155 8.6 案例——识别图形验证码 156 小结157 习题157 第9章存储爬虫数据 159 9.1 数据存储概述 159 9.2 MongoDB数据库概述 160 9.2.1 MongoDB的概念 160 9.2.2 Windows平台安装MongoDB数据库 160 9.2.3 比较MongoDB和MySQL的术语 163 9.3 使用PyMongo库存储到 数据库 165 9.3.1 PyMongo的概念 165 9.3.2 PyMongo的基本操作 165 9.4 案例——存储网站的电影信息 169 9.4.1 分析待爬取的网页 169 9.4.2 通过urllib爬取全部页面 169 9.4.3 通过bs4选取数据 171 9.4.4 通过MongoDB存储 电影信息 172 小结173 习题173 第10章初识爬虫框架Scrapy 175 10.1 常见爬虫框架介绍 175 10.2 Scrapy框架的架构 179 10.3 Scrapy框架的运作流程 180 10.4 安装Scrapy框架 181 10.4.1 Windows 7系统下的 安装 181 10.4.2 Linux(Ubuntu)系统下的 安装 184 10.4.3 Mac OS系统下的安装 185 10.5 Scrapy框架的基本操作 186 10.5.1 新建一个Scrapy项目 186 10.5.2 明确爬取目标 187 10.5.3 制作Spiders爬取网页 188 10.5.4 永久性存储数据 193 10.5.5 Scrapy常用命令 193 小结194 习题194 第11章 Scrapy终端与核心组件 196 11.1 Scrapy shell——测试XPath 表达式 196 11.1.1 启用Scrapy shell 196 11.1.2 使用Scrapy shell 197 11.1.3 Scrapy shell使用示例 198 11.2 Spiders——爬取和提取结构化 数据 200 11.3 Item Pipeline——后期处理 数据 201 11.3.1 自定义Item Pipeline 201 11.3.2 完善之前的案例—— item写入JSON文件 202 11.4 Downloader Middlewares—— 防止反爬虫 203 11.5 Settings——定制Scrapy 组件 206 11.6 案例——斗鱼App爬虫 208 11.6.1 使用Fiddler爬取手机 App的数据 208 11.6.2 分析JSON文件的内容 210 11.6.3 使用Scrapy爬取数据 211 小结214 习题214 第12章自动爬取网页的爬虫CrawlSpider 216 12.1 初识爬虫类CrawlSpider 216 12.2 CrawlSpider类的工作原理 219 12.3 通过Rule类决定爬取规则 221 12.4 通过LinkExtractor类提取 链接 222 12.5 案例——使用CrawlSpider爬取 腾讯社会招聘网站 223 小结228 习题228 第13章 Scrapy-Redis分布式 爬虫 230 13.1 Scrapy-Redis概述 230 13.2 Scrapy-Redis的完整架构 231 13.3 Scrapy-Redis的运作流程 231 13.4 Scrapy-Redis的主要组件 232 13.5 搭建Scrapy-Redis开发环境 233 13.5.1 安装Scrapy-Redis 233 13.5.2 安装和启动Redis 数据库 234 13.5.3 修改配置文件 redis.conf 239 13.6 分布式的部署 242 13.6.1 分布式策略 242 13.6.2 测试Slave端远程连接 Master端 243 13.7 Scrapy-Redis的基本使用 245 13.7.1 创建Scrapy项目 245 13.7.2 明确爬取目标 246 13.7.3 制作Spider爬取网页 247 13.7.4 执行分布式爬虫 249 13.7.5 使用多个管道存储 250 13.7.6 处理Redis数据库中的 数据 252
|