Scrapy 2.17 文档

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

获取帮助

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

第一步

Scrapy 一览

了解 Scrapy 是什么以及它如何为您提供帮助。

安装指南

在您的计算机上安装 Scrapy。

Scrapy 教程

编写您的第一个 Scrapy 项目。

示例

通过试玩一个预制的 Scrapy 项目来了解更多信息。

基本概念

命令行工具

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

爬虫 (Spiders)

编写抓取网站的规则。

选择器 (Selectors)

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

Scrapy 终端 (Scrapy shell)

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

项目 (Items)

定义您想要抓取的数据。

项目加载器 (Item Loaders)

使用提取的数据填充 Item。

项目管道 (Item Pipeline)

对抓取的数据进行后处理并存储。

Feed 导出 (Feed exports)

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

请求与响应 (Requests and Responses)

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

链接提取器 (Link Extractors)

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

设置 (Settings)

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

异常 (Exceptions)

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

内置服务

日志记录 (Logging)

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

统计收集 (Stats Collection)

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

Telnet 终端 (Telnet Console)

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

解决特定问题

常见问题 (FAQ)

获取最常见问题的答案。

调试爬虫

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

爬虫契约 (Spiders Contracts)

了解如何使用 Contract(契约)来测试您的爬虫。

常用实践

熟悉 Scrapy 的一些通用实践。

安全

了解 Scrapy 默认设置的安全影响以及如何加强安全性。

通用爬取 (Broad Crawls)

针对并行抓取大量域名调整 Scrapy。

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

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

选择动态加载的内容

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

调试内存泄漏

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

下载并处理文件和图像

下载与抓取 Item 关联的文件和/或图像。

部署爬虫

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

自动限速 (AutoThrottle) 扩展

根据负载动态调整抓取速率。

基准测试 (Benchmarking)

检查 Scrapy 在您的硬件上的性能表现。

作业:暂停与恢复爬取

了解如何针对大型爬虫暂停和恢复抓取。

协程 (Coroutines)

使用 协程语法

asyncio

使用 asyncio 以及基于 asyncio 的库。

扩展 Scrapy

架构概览

了解 Scrapy 架构。

插件 (Add-ons)

启用并配置第三方扩展。

下载器中间件 (Downloader Middleware)

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

爬虫中间件 (Spider Middleware)

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

扩展 (Extensions)

使用您的自定义功能扩展 Scrapy

信号 (Signals)

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

调度器 (Scheduler)

了解调度器(Scheduler)组件。

项目导出器 (Item Exporters)

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

下载处理器 (Download handlers)

自定义请求的下载方式或添加对新 URL 方案的支持。

组件 (Components)

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

核心 API

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

其他所有内容

发行说明

查看最近 Scrapy 版本中的更改。

为 Scrapy 贡献代码

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

版本控制与 API 稳定性

了解 Scrapy 的版本管理和 API 稳定性。