关于本书:目标和用户
在本书中,我们的目标是通过重点示例和真实数据集教你使用 Scrapy。大部分章节将专注于爬取一个示例的房屋租赁网站。我们选择这个例子,是因为它能够代表大多数的网站爬取项目,既能让我们介绍感兴趣的变动,又不失简单。以该示例为主题,可以帮助我们聚焦于 Scrapy,而不会分心。
我们将从只运行几百个页面的小爬虫开始,最终在第 11 章中使用几分钟的时间,将其扩展为能够处理 5 万个页面的分布式爬虫。在这个过程中,我们将向你介绍如何将 Scrapy 与 MySQL、Redis 和 Elasticsearch 等服务相连接,使用 Google 的地理编码 API 找到我们示例属性中的位置坐标,以及向 Apache Spark 提供数据用于预测最影响房价的关键词。
你需要做好阅读本书多次的准备。你可能需要从略读开始,先理解其架构。然后阅读一到两章,仔细学习、实验一段时间,再进入后面的章节。如果你觉得自己已经熟悉了某一章的内容,那么跳过这一章也无需担心。尤其是如果你已经了解 HTML 和 XPath,那么就没有必要花费太多时间在第 2 章上面了。不用担心,对你来说本书还有很多需要学习的内容。一些章节,比如第 8 章,将参考书和教程的元素结合起来,深入编程概念。这就是一个例子,我们可能会阅读某一章几次,在这中间允许我们有几个星期的时间实践 Scrapy。你在继续阅读后续的章节,比如以应用为主的第 9 章之前,不需要完美掌握第 8 章中的内容。阅读后续的内容,有助于你理解如何使用编程概念,如果你愿意的话,可以回过头来反复阅读几次。
为使本书既有趣,又对初学者友好,我们已经试图做了平衡。不过我们不会做的一件事情是, 在本书中教授 Python。对于这一主题,目前已经有了很多优秀的书籍,不过我更加建议的是以一种轻松的心态来学习。Python 如此流行的一个理由是因为它比较简单、整洁,并且阅读起来更近似于英文。Scrapy 是一个高级框架,无论是初学者还是专家,都需要学习。你可以将其称之为 “Scrapy语言”。因此,我会推荐你通过材料来学习 Python,如果你发觉自己对于 Python 的语法比较迷惑,那么可以通过一些 Python 的在线教程或 Coursera 等为 Python 初学者开设的免费在线课程予以补充。请放心,即使你不是 Python 专家,也能够成为一名优秀的 Scrapy 开发者。