Scrapy 2.12 文档¶
Scrapy 是一个快速、高级的 网页爬取 和 网页抓取 框架,用于爬取网站并从其页面中提取结构化数据。它可以用于各种用途,从数据挖掘到监控和自动化测试。
获取帮助¶
遇到问题?我们很乐意提供帮助!
尝试查看 常见问题解答 (FAQ) – 它包含了一些常见问题的答案。
在 Scrapy subreddit 提问或搜索问题。
在 scrapy-users 邮件列表 的存档中搜索问题。
在 #scrapy IRC 频道 提问。
在我们的 问题跟踪器 中报告 Scrapy 的错误。
加入 Discord 社区 Scrapy Discord。
入门¶
基本概念¶
- 命令行工具
了解用于管理你的 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
扩展 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 稳定性。