Scrapy 2.13 文档

Scrapy 是一个快速高级的网络爬虫网络抓取框架,用于爬取网站并从中提取结构化数据。它可用于广泛的用途,从数据挖掘到监控和自动化测试。

获取帮助

遇到麻烦了吗?我们乐意提供帮助!

入门

Scrapy 概览

了解 Scrapy 是什么以及它如何帮助你。

安装指南

在你的电脑上安装 Scrapy。

Scrapy 教程

编写你的第一个 Scrapy 项目。

示例

通过一个预制的 Scrapy 项目来学习更多。

基本概念

命令行工具

了解用于管理 Scrapy 项目的命令行工具。

Spiders (爬虫)

编写爬取网站的规则。

Selectors (选择器)

使用 XPath 从网页中提取数据。

Scrapy shell (Scrapy shell)

在交互式环境中测试你的提取代码。

Items (项目)

定义你要抓取的数据。

Item Loaders (项目加载器)

使用提取的数据填充你的 items。

Item Pipeline (项目管道)

后处理和存储你的抓取数据。

Feed exports (数据导出)

使用不同的格式和存储方式输出你的抓取数据。

Requests 和 Responses (请求与响应)

了解用于表示 HTTP 请求和响应的类。

Link Extractors (链接提取器)

方便的类,用于从页面中提取要跟踪的链接。

Settings (设置)

了解如何配置 Scrapy 并查看所有可用设置

Exceptions (异常)

查看所有可用异常及其含义。

内置服务

Logging (日志记录)

了解如何在 Scrapy 中使用 Python 内置的 logging。

Stats Collection (统计信息收集)

收集关于你的爬虫的统计信息。

发送电子邮件

在特定事件发生时发送电子邮件通知。

Telnet Console (Telnet 控制台)

使用内置的 Python 控制台检查正在运行的爬虫。

解决特定问题

常见问题

获取最常见问题的答案。

调试 Spiders

了解如何调试 Scrapy spider 的常见问题。

Spiders Contracts (爬虫契约)

了解如何使用 contracts 测试你的 spiders。

常见实践

熟悉一些 Scrapy 的常见实践。

大规模抓取

调整 Scrapy 以并行爬取多个域名。

使用浏览器开发者工具进行抓取

了解如何使用浏览器开发者工具进行抓取。

选择动态加载的内容

读取动态加载的网页数据。

调试内存泄漏

了解如何查找和解决爬虫中的内存泄漏。

下载和处理文件及图片

下载与抓取到的 items 相关联的文件和/或图片。

部署 Spiders

部署你的 Scrapy spiders 并在远程服务器上运行它们。

AutoThrottle 扩展

根据负载动态调整爬取速度。

性能测试

检查 Scrapy 在你的硬件上的性能。

Jobs: 暂停和恢复爬取

了解如何暂停和恢复大规模 spiders 的爬取。

Coroutines (协程)

使用协程语法

asyncio

使用 asyncio 和基于 asyncio 的库。

扩展 Scrapy

架构概览

理解 Scrapy 架构。

Add-ons (附加组件)

启用和配置第三方扩展。

Downloader Middleware (下载器中间件)

自定义页面的请求和下载方式。

Spider Middleware (爬虫中间件)

自定义 spiders 的输入和输出。

Extensions (扩展)

使用自定义功能扩展 Scrapy

Signals (信号)

查看所有可用信号以及如何使用它们。

Scheduler (调度器)

理解调度器组件。

Item Exporters (项目导出器)

快速将抓取的 items 导出到文件 (XML, CSV 等)。

组件

学习构建自定义 Scrapy 组件时的通用 API 和一些良好实践。

核心 API

在 extensions 和 middlewares 中使用它来扩展 Scrapy 功能。

其他

发布说明

查看 Scrapy 最新版本中的变化。

贡献 Scrapy

学习如何为 Scrapy 项目做贡献。

版本控制和 API 稳定性

理解 Scrapy 版本控制和 API 稳定性。