精通Python爬虫框架Scrapy

精通Python爬虫框架Scrapy

我想读
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

在学习完本书后,你将对数据爬取胸有成竹,并将数据应用在自己的应用程序中。

内容简介

Scrapy是使用Python开发的一个快速、高层次的屏幕抓取和Web抓取框架,用于抓Web站点并从页面中提取结构化的数据。《精通Python爬虫框架Scrapy》以Scrapy 1.0版本为基础,讲解了Scrapy的基础知识,以及如何使用Python和三方API提取、整理数据,以满足自己的需求。

本书共11章,其内容涵盖了Scrapy基础知识,理解HTML和XPath,安装Scrapy并爬取一个网站,使用爬虫填充数据库并输出到移动应用中,爬虫的强大功能,将爬虫部署到Scrapinghub云服务器,Scrapy的配置与管理,Scrapy编程,管道秘诀,理解Scrapy性能,使用Scrapyd与实时分析进行分布式爬取。本书附录还提供了各种软件的安装与故障排除等内容。

作者简介

作者迪米特里奥斯 考奇斯-劳卡斯Dimitrios Kouzis-Loukas作为一位软件开发人员,已经拥有超过15年的经验。同时,他还使用自己掌握的知识和技能,向广大读者讲授如何编写软件。他学习并掌握了多门学科,包括数学、物理学以及微电子学。他对这些学科的透彻理解,提高了自身的标准,而不只是“实用的解决方案”。他知道真正的解决方案应当是像物理学规律一样确定,像ECC内存一样健壮,像数学一样通用。Dimitrios目前正在使用新的数据中心技术开发低延迟、高可用的分布式系统。他是语言无关论者,不过对Python、C++和Java略有偏好。他对开源软硬件有着坚定的信念,他希望他的贡献能够造福于各个社区和全人类。

章节目录

版权信息

内容提要

关于作者

关于审稿人

前言

第1章 Scrapy简介

1.1 初识Scrapy

1.2 喜欢Scrapy的更多理由

1.3 关于本书:目标和用途

1.4 掌握自动化数据爬取的重要性

1.4.1 开发健壮且高质量的应用,并提供合理规划

1.4.2 快速开发高质量最小可行产品

1.4.3 Google不会使用表单,爬取才能扩大规模

1.4.4 发现并融入你的生态系统

1.5 在充满爬虫的世界里做一个好公民

1.6 Scrapy不是什么

1.7 本章小结

第2章 理解HTML和XPath

2.1 HTML、DOM树表示以及XPath

2.1.1 URL

2.1.2 HTML文档

2.1.3 树表示法

2.1.4 你会在屏幕上看到什么

2.2 使用XPath选择HTML元素

2.2.1 有用的XPath表达式

2.2.2 使用Chrome获取XPath表达式

2.2.3 常见任务示例

2.2.4 预见变化

2.3 本章小结

第3章 爬虫基础

3.1 安装Scrapy

3.1.1 MacOS

3.1.2 Windows

3.1.3 Linux

3.1.4 最新源码安装

3.1.5 升级Scrapy

3.1.6 Vagrant:本书中运行示例的官方方式

3.2 UR2IM——基本抓取流程

3.2.1 URL

3.2.2 请求和响应

3.2.3 Item

3.3 一个Scrapy项目

3.3.1 声明item

3.3.2 编写爬虫

3.3.3 填充item

3.3.4 保存文件

3.3.5 清理——item装载器与管理字段

3.3.6 创建contract

3.4 抽取更多的URL

3.4.1 使用爬虫实现双向爬取

3.4.2 使用CrawlSpider实现双向爬取

3.5 本章小结

第4章 从Scrapy到移动应用

4.1 选择手机应用框架

4.2 创建数据库和集合

4.3 使用Scrapy填充数据库

4.4 创建手机应用

4.4.1 创建数据库访问服务

4.4.2 创建用户界面

4.4.3 将数据映射到用户界面

4.4.4 数据库字段与用户界面控件间映射

4.4.5 测试、分享及导出你的手机应用

4.5 本章小结

第5章 迅速的爬虫技巧

5.1 需要登录的爬虫

5.2 使用JSON API和AJAX页面的爬虫

5.2.1 在响应间传参

5.3 30倍速的房产爬虫

5.4 基于Excel文件爬取的爬虫

5.5 本章小结

第6章 部署到Scrapinghub

6.1 注册、登录及创建项目

6.2 部署爬虫与计划运行

6.3 访问item

6.4 计划定时爬取

6.5 本章小结

第7章 配置与管理

7.1 使用Scrapy设置

7.2 基本设置

7.2.1 分析

7.2.2 性能

7.2.3 提前终止爬取

7.2.4 HTTP缓存和离线运行

7.2.5 爬取风格

7.2.6 feed

7.2.7 媒体下载

7.2.8 Amazon Web服务

7.2.9 使用代理和爬虫

7.3 进阶设置

7.3.1 项目相关设置

7.3.2 Scrapy扩展设置

7.3.3 下载调优

7.3.4 自动限速扩展设置

7.3.5 内存使用扩展设置

7.3.6 日志和调试

7.4 本章小结

第8章 Scrapy编程

8.1 Scrapy是一个Twisted应用

8.1.1 延迟和延迟链

8.1.2 理解Twisted和非阻塞I/O——一个Python故事

8.2 Scrapy架构概述

8.3 示例1:非常简单的管道

8.4 信号

8.5 示例2:测量吞吐量和延时的扩展

8.6 中间件延伸

8.7 本章小结

第9章 管道秘诀

9.1 使用REST API

9.1.1 使用treq

9.1.2 用于写入Elasticsearch的管道

9.1.3 使用Google Geocoding API实现地理编码的管道

9.1.4 在Elasticsearch中启用地理编码索引

9.2 与标准Python客户端建立数据库接口

9.2.1 用于写入MySQL的管道

9.3 使用Twisted专用客户端建立服务接口

9.3.1 用于读写Redis的管道

9.4 为CPU密集型、阻塞或遗留功能建立接口

9.4.1 处理CPU密集型或阻塞操作的管道

9.4.2 使用二进制或脚本的管道

9.5 本章小结

第10章 理解Scrapy性能

10.1 Scrapy引擎——一种直观方式

10.1.1 级联队列系统

10.1.2 定义瓶颈

10.1.3 Scrapy性能模型

10.2 使用telnet获得组件利用率

10.3 基准系统

10.4 标准性能模型

10.5 解决性能问题

10.5.1 案例#1:CPU饱和

10.5.2 案例#2:代码阻塞

10.5.3 案例#3:下载器中的“垃圾”

10.5.4 案例#4:大量响应或超长响应造成的溢出

10.5.5 案例#5:有限/过度item并发造成的溢出

10.5.6 案例#6:下载器未充分利用

10.6 故障排除流程

10.7 本章小结

第11章 使用Scrapyd与实时分析进行分布式爬取

11.1 房产的标题是如何影响价格的

11.2 Scrapyd

11.3 分布式系统概述

11.4 爬虫和中间件的变化

11.4.1 索引页分片爬取

11.4.2 分批爬取URL

11.4.3 从设置中获取初始URL

11.4.4 在Scrapyd服务器中部署项目

11.5 创建自定义监控命令

11.6 使用Apache Spark流计算偏移量

11.7 运行分布式爬取

11.8 系统性能

11.9 关键要点

11.10 本章小结

附录A 必备软件的安装与故障排除

A.1 必备软件的安装

A.2 系统

A.3 安装概述

A.4 在Linux上安装

A.5 在Windows或Mac上安装

A.5.1 安装Vagrant

A.5.2 如何访问终端

A.5.3 安装VirtualBox和Git

A.5.4 确保VirtualBox支持64位镜像

A.5.5 在Windows中启用ssh客户端

A.5.6 下载本书代码并创建系统

A.6 系统创建与操作FAQ

A.6.1 我应该下载什么以及需要花费多少时间

A.6.2 如果Vagrant无法响应应该怎么办

A.6.3 如何快速关闭/恢复虚拟机

A.6.4 如何完全重置虚拟机

A.6.5 如何调整虚拟机大小

A.6.6 如何解决端口冲突

A.6.7 如何隐藏在公司代理背后工作

A.6.8 如何连接Docker provider虚拟机

A.6.9 每个服务器使用了多少CPU/内存

A.6.10 如何查看Docker容器镜像的大小

A.6.11 当Vagrant无法响应时,如何重置系统

A.7 有一个无法解决的问题,怎么办

精通Python爬虫框架Scrapy是2018年由人民邮电出版社出版,作者[美]迪米特里奥斯考奇斯-劳卡斯。

得书感谢您对《精通Python爬虫框架Scrapy》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
JavaScript框架设计 电子书

全面讲解JavaScript框架设计,带你迅速具备相关知识。
Python 3破冰人工智能:从入门到实战 电子书

数学基础:从历年数学建模竞赛入手,解读人工智能中的数学方法。编程实践:100余个代码实例,全面讲解网络爬虫、数据存储与数据分析等内容。算法应用:实战案例辅以丰富图解,详尽分析人...
Python机器学习经典实例 电子书

用流行的Python库scikitlearn解决机器学习问题。
Python基础教程(第3版) 电子书

手把手带你从零开始学习Python。
父与子的编程之旅:与小卡特一起学Python 电子书

编程是一项充满乐趣的挑战,想要上手也非常容易!
C语言程序设计:现代方法(第2版) 电子书

近10年来难得的一部C语言著作。哈佛、麻省理工、斯坦福都在用的C语言经典教材。
Python少儿趣味编程 电子书

适读人群:任何想要学习Python或初次接触编程的人;Python语言的初学者、计算机专业的学生。尤其适合信息技术课教师或培训机构的老师以及青少年读者(初高中学生)阅读。《Py...