单进程模式快速入门

1. 创建您的爬虫

按照通常的方式创建 Scrapy 项目。输入您要存储代码的目录,然后运行:

scrapy startproject tutorial

这会创建一个 tutorial 目录,包含以下内容:

tutorial/
    scrapy.cfg
    tutorial/
        __init__.py
        items.py
        pipelines.py
        settings.py
        spiders/
            __init__.py
            ...

这些是最基本的:

  • scrapy.cfg: 项目的配置文件
  • tutorial/: 项目的 python 模块,后续您将从这里引用您的代码。
  • tutorial/items.py: 项目的 items 文件。
  • tutorial/pipelines.py: 项目的 pipelines 文件。
  • tutorial/settings.py: 项目的 settings 文件。
  • tutorial/spiders/: 放爬虫的目录。

2. 安装 Frontera

请看 安装指南.

3. 集成您的爬虫和 Frontera

这篇文章 集成 Scrapy 详细介绍了这一步。

4. 选择您的后端

为 Frontera 设置内置的后端,比如内存中的BFS后端(广度优先):

BACKEND = 'frontera.contrib.backends.memory.BFS'

5. 运行爬虫

按照通常的方式从命令行启动 Scrapy 爬虫:

scrapy crawl myspider

就是这样! 您成功将您的爬虫与 Frontera 集成了。

还有什么?

您已经看到了一个使用 Frontera 集成 Scrapy 的例子,但是这个仅仅是最基本的功能。Frontera 还提供了许多让 frontier 管理更加简单、有效率的强大功能,比如:

  • 内置 database storage 支持存储抓取数据。
  • 通过 API 可以方便的 与 Scrapy 集成 或者与其他爬虫集成。
  • 通过使用 ZeroMq 或 Kafka 和分布式的后端,实现 两种分布式抓取模式
  • 通过 自定义您的后端 创建不同抓取策略或者逻辑。
  • 使用 middlewares 插入您自己的 request/response 修改策略。
  • 使用 Graph Manager 创建假的网站地图,并可以不用爬虫而可以重现抓取过程。
  • 记录您的 Scrapy 抓取结果 ,后续可以用它测试 frontier。
  • 您可以用 hook 的方式使用日志工具,捕捉错误和调试您的 frontiers。