[图书馆] 精通 Python 爬虫框架 Scrapy

Scrapy是使用Python开发的一个快速、高层次的屏幕抓取和Web抓取框架,用于抓Web站点并从页面中提取结构化的数据。本书以Scrapy 1.0版本为基础,讲解了Scrapy的基础知识,以及如何使用Python和三方API提取、整理数据,以满足自己的需求。 本书共11章,其内容涵盖了Scrapy基础知识,理解HTML和XPath,安装Scrapy并爬取一个网站,使用爬虫填充数据库并输出到移动应用中,爬虫的强大功能,将爬虫部署到Scrapinghub云服务器,Scrapy的配置与管理,Scrapy编程,管道秘诀,理解Scrapy性能,使用Scrapyd与实时分析进行分布式爬取。本书附录还提供了各种必备软件的安装与故障排除等内容。 本书适合软件开发人员、数据科学家,以及对自然语言处理和机器学习感兴趣的人阅读。

课程目录

第 1章 Scrapy简介 1
1.1 初识Scrapy 1
1.2 喜欢Scrapy的更多理由 2
1.3 关于本书:目标和用途 3
1.4 掌握自动化数据爬取的重要性 4
1.4.1 开发健壮且高质量的应用,并提供合理规划 4
1.4.2 快速开发高质量可行产品 5
1.4.3 Google不会使用表单,爬取才能扩大规模 6
1.4.4 发现并融入你的生态系统 7
1.5 在充满爬虫的世界里做一个好公民 7
1.6 Scrapy不是什么 8
1.7 本章小结 9
第 2章 理解HTML和XPath 10
2.1 HTML、DOM树表示以及XPath 10
2.1.1 URL 11
2.1.2 HTML文档 11
2.1.3 树表示法 13
2.1.4 你会在屏幕上看到什么 14
2.2 使用XPath选择HTML元素 15
2.2.1 有用的XPath表达式 16
2.2.2 使用Chrome获取XPath表达式 19
2.2.3 常见任务示例 20
2.2.4 预见变化 21
2.3 本章小结 22
第3章 爬虫基础 23
3.1 安装Scrapy 24
3.1.1 MacOS 24
3.1.2 Windows 25
3.1.3 Linux 25
3.1.4 新源码安装 26
3.1.5 升级Scrapy 26
3.1.6 Vagrant:本书中运行示例的官方方式 27
3.2 UR2IM——基本抓取流程 28
3.2.1 URL 29
3.2.2 请求和响应 31
3.2.3 Item 31
3.3 一个Scrapy项目 37
3.3.1 声明item 38
3.3.2 编写爬虫 40
3.3.3 填充item 43
3.3.4 保存文件 45
3.3.5 清理——item装载器与管理字段 47
3.3.6 创建contract 50
3.4 抽取更多的URL 53
3.4.1 使用爬虫实现双向爬取 56
3.4.2 使用CrawlSpider实现双向爬取 59
3.5 本章小结 61
第4章 从Scrapy到移动应用 62
4.1 选择手机应用框架 62
4.2 创建数据库和集合 63
4.3 使用Scrapy填充数据库 65
4.4 创建手机应用 68
4.4.1 创建数据库访问服务 69
4.4.2 创建用户界面 69
4.4.3 将数据映射到用户界面 70
4.4.4 数据库字段与用户界面控件间映射 71
4.4.5 测试、分享及导出你的手机应用 72
4.5 本章小结 73
第5章 迅速的爬虫技巧 75
5.1 需要登录的爬虫 75
5.2 使用JSON API和AJAX页面的爬虫 81
5.3 30倍速的房产爬虫 85
5.4 基于Excel文件爬取的爬虫 90
5.5 本章小结 93
第6章 部署到Scrapinghub 94
6.1 注册、登录及创建项目 94
6.2 部署爬虫与计划运行 96
6.3 访问item 99
6.4 计划定时爬取 100
6.5 本章小结 101
第7章 配置与管理 102
7.1 使用Scrapy设置 102
7.2 基本设置 103
7.2.1 分析 104
7.2.2 性能 107
7.2.3 提前终止爬取 108
7.2.4 HTTP缓存和离线运行 108
7.2.5 爬取风格 109
7.2.6 feed 110
7.2.7 媒体下载 111
7.2.8 Amazon Web服务 113
7.2.9 使用代理和爬虫 113
7.3 进阶设置 114
7.3.1 项目相关设置 115
7.3.2 Scrapy扩展设置 116
7.3.3 下载调优 116
7.3.4 自动限速扩展设置 117
7.3.5 内存使用扩展设置 117
7.3.6 日志和调试 117
7.4 本章小结 118
第8章 Scrapy编程 119
8.1 Scrapy是一个Twisted应用 119
8.1.1 延迟和延迟链 122
8.1.2 理解Twisted和非阻塞I/O——一个Python故事 125
8.2 Scrapy架构概述 132
8.3 示例1:非常简单的管道 135
8.4 信号 136
8.5 示例2:测量吞吐量和延时的扩展 138
8.6 中间件延伸 141
8.7 本章小结 144
第9章 管道秘诀 145
9.1 使用REST API 146
9.1.1 使用treq 146
9.1.2 用于写入Elasticsearch的管道 146
9.1.3 使用Google Geocoding API实现地理编码的管道 149
9.1.4 在Elasticsearch中启用地理编码索引 156
9.2 与标准Python客户端建立数据库接口 157
9.3 使用Twisted专用客户端建立服务接口 161
9.4 为CPU密集型、阻塞或遗留功能建立接口 166
9.4.1 处理CPU密集型或阻塞操作的管道 166
9.4.2 使用二进制或脚本的管道 168
9.5 本章小结 172
第 10章 理解Scrapy性能 173
10.1 Scrapy引擎——一种直观方式 173
10.1.1 级联队列系统 175
10.1.2 定义瓶颈 176
10.1.3 Scrapy性能模型 176
10.2 使用telnet获得组件利用率 178
10.3 基准系统 180
10.4 标准性能模型 182
10.5 解决性能问题 185
10.5.1 案例 #1:CPU饱和 185
10.5.2 案例 #2:代码阻塞 187
10.5.3 案例 #3:下载器中的“垃圾” 188
10.5.4 案例 #4:大量响应或超长响应造成的溢出 191
10.5.5 案例 #5:有限/过度item并发造成的溢出 193
10.5.6 案例 #6:下载器未充分利用 194
10.6 故障排除流程 197
10.7 本章小结 198
第 11章 使用Scrapyd与实时分析进行分布式爬取 199
11.1 房产的标题是如何影响价格的 200
11.2 Scrapyd 200
11.3 分布式系统概述 203
11.4 爬虫和中间件的变化 205
11.4.1 索引页分片爬取 205
11.4.2 分批爬取URL 207
11.4.3 从设置中获取初始URL 211
11.4.4 在Scrapyd服务器中部署项目 213
11.5 创建自定义监控命令 215
11.6 使用Apache Spark流计算偏移量 216
11.7 运行分布式爬取 218
11.8 系统性能 220
11.9 关键要点 221
11.10 本章小结 221
附录A 软件的安装与故障排除 222

下载权限

查看
  • 免费下载
    评论并刷新后下载
    登录后下载

  • {{attr.name}}:
您当前等级为
登录后免费下载登录 黑名单反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 需要登录 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级权限
您有每天免费下载所有资源次特权,今日剩余 已取得下载权限
重要声明

本站资源均来自网络分享,仅用于站内学习或测试研究使用。如有侵犯您的权益请私信留言,我们会第一时间审核。未经原版权作者许可,禁止用于任何商业途径,请在下载二十四小时内删除!


如果遇到需要升级才可获取的素材,建议升级对应的权限。 全站 90% 以上的素材“均有备份”。 本站资源均以主流网盘分享,以 7z、rar、分卷等常见的格式压缩,为防止有人压缩软件不支持 7z 格式,7z 解压,建议下载 7-zip,zip、rar 解压,建议下载 WinRAR 手机下载解压教程详见 帮助中心 。

学习课程

Pandas 数据分析实战课程

2022-04-05 07:00

学习课程

组织敏捷目标和绩效管理课程

2022-04-06 00:05

相关文章

[图书馆] HBase 不睡觉书

[图书馆] HBase 不睡觉书

HBase 是 Apache 旗下一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。利用HBase技术可在廉价的PC服务器上搭建大规模的存储化集群,使用HBase可以对数十亿级别的大数据进行实时性的高性能读写,在满足高性能的同时还保证了数据存取的原子性。 本书共分为9章,由浅入深地讲解HBase…

[图书馆] Vue.js 项目实战

[图书馆] Vue.js 项目实战

本书首先介绍 Vue 的基础知识,并使用指令和丰富的用户体验创建第一个Web应用;随后通过创建基于浏览器的游戏来介绍动画和交互性;然后通过可用的工具和预处理器讲解如何使用插件创建多页面应用,并为应用创建高效,高性能的组件;接下来创建一个在线商店并对其进行优化;最后将Vue与实时库Meteor集成,创…

[图书馆] Python 编程,从入门到实践

[图书馆] Python 编程,从入门到实践

本书是一本针对所有层次的 Python 读者而作的 Python 入门书。全书分两部分:第一部分介绍用 Python 编程所必须了解的基本概念,包括 matplotlib、NumPy 和 Pygal 等强大的 Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容;第…

Go 语言实战 by 威廉·肯尼迪

Go 语言实战 by 威廉·肯尼迪

Go 语言结合了底层系统语言的能力以及现代语言的高级特性,旨在降低构建简单、可靠、高效软件的门槛。本书向读者提供一个专注、全面且符合语言习惯的视角。Go语言实战同时关注语言的规范和实现,涉及的内容包括语法、类型系统、并发、管道、测试,以及其他一些主题。 William Kennedy,是一位熟练的软…
0 条回复 A文章作者 M管理员
发表垃圾评论,一经核查直接关小黑屋
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
全站搜索