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 以并行爬取大量域名。

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

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

选择动态加载的内容

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

调试内存泄漏

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

下载并处理文件和图像

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

部署爬虫

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

自动限速 (AutoThrottle) 扩展

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

基准测试 (Benchmarking)

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

作业:暂停与恢复爬取

了解如何为大型爬虫暂停和恢复爬取任务。

协程 (Coroutines)

使用 协程语法

asyncio

使用 asyncio 和基于 asyncio 的库。

扩展 Scrapy

架构概览

了解 Scrapy 架构。

插件 (Add-ons)

启用并配置第三方扩展。

下载器中间件 (Downloader Middleware)

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

爬虫中间件 (Spider Middleware)

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

扩展 (Extensions)

使用自定义功能扩展 Scrapy

信号 (Signals)

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

调度器 (Scheduler)

了解调度器组件。

项目导出器 (Item Exporters)

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

下载处理器 (Download handlers)

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

组件 (Components)

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

核心 API

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

其他内容

发行说明

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

为 Scrapy 贡献代码

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

版本控制与 API 稳定性

了解 Scrapy 的版本划分和 API 稳定性。