Scrapy 2.12 文档

Scrapy 是一个快速、高级的 网页爬取网页抓取 框架,用于爬取网站并从其页面中提取结构化数据。它可以用于各种用途,从数据挖掘到监控和自动化测试。

获取帮助

遇到问题?我们很乐意提供帮助!

入门

Scrapy 概览

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

安装指南

在你的电脑上安装 Scrapy。

Scrapy 教程

编写你的第一个 Scrapy 项目。

示例

通过使用预制 Scrapy 项目来学习更多。

基本概念

命令行工具

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

爬虫 (Spiders)

编写规则来爬取你的网站。

选择器 (Selectors)

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

Scrapy Shell

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

项目 (Items)

定义你想要抓取的数据。

项目加载器 (Item Loaders)

使用提取的数据填充你的项目。

项目管道 (Item Pipeline)

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

数据导出 (Feed Exports)

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

请求和响应 (Requests and Responses)

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

链接提取器 (Link Extractors)

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

设置 (Settings)

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

异常 (Exceptions)

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

内置服务

日志 (Logging)

了解如何在 Scrapy 中使用 Python 的内置日志记录功能。

统计收集 (Stats Collection)

收集有关你的抓取爬虫的统计信息。

发送邮件 (Sending e-mail)

在发生某些事件时发送电子邮件通知。

Telnet 控制台 (Telnet Console)

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

解决特定问题

常见问题 (Frequently Asked Questions)

获取最常见问题的答案。

调试爬虫 (Debugging Spiders)

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

爬虫契约 (Spiders Contracts)

了解如何使用契约来测试你的爬虫。

常见实践 (Common Practices)

熟悉一些 Scrapy 的常见实践。

广域爬取 (Broad Crawls)

调整 Scrapy 以并行爬取大量域名。

使用浏览器开发者工具进行抓取 (Using your browser’s Developer Tools for scraping)

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

选择动态加载的内容 (Selecting dynamically-loaded content)

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

调试内存泄漏 (Debugging memory leaks)

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

下载和处理文件和图片 (Downloading and processing files and images)

下载与你的抓取项目关联的文件和/或图片。

部署爬虫 (Deploying Spiders)

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

自动节流扩展 (AutoThrottle extension)

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

基准测试 (Benchmarking)

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

任务:暂停和恢复爬取 (Jobs: pausing and resuming crawls)

了解如何暂停和恢复大型爬虫的爬取。

协程 (Coroutines)

使用 协程语法

asyncio

使用 asyncioasyncio 支持的库。

扩展 Scrapy

架构概述

了解 Scrapy 的架构。

附加组件 (Add-ons)

启用和配置第三方扩展。

下载器中间件 (Downloader Middleware)

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

爬虫中间件 (Spider Middleware)

自定义爬虫的输入和输出。

扩展 (Extensions)

使用自定义功能扩展 Scrapy

信号 (Signals)

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

调度器 (Scheduler)

了解调度器组件。

项目导出器 (Item Exporters)

快速将抓取的项目导出到文件 (XML、CSV 等)。

组件 (Components)

了解构建自定义 Scrapy 组件时的常见 API 和一些最佳实践。

核心 API

在扩展和中间件中使用它来扩展 Scrapy 功能。

其他 (All the rest)

发行说明 (Release notes)

查看最近的 Scrapy 版本中有哪些变化。

为 Scrapy 做贡献 (Contributing to Scrapy)

了解如何为 Scrapy 项目做出贡献。

版本控制和 API 稳定性 (Versioning and API stability)

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