Scrapy 2.13 文档
Scrapy 是一个快速高级的网络爬虫和网络抓取框架,用于爬取网站并从中提取结构化数据。它可用于广泛的用途,从数据挖掘到监控和自动化测试。
获取帮助
遇到麻烦了吗?我们乐意提供帮助!
请查看常见问题 – 它包含了一些常见问题的答案。
在scrapy-users 邮件列表存档中搜索问题。
在#scrapy IRC 频道提问,
在我们的issue tracker 中报告 Scrapy 的 bug。
加入 Discord 社区 Scrapy Discord。
入门
基本概念
- 命令行工具
了解用于管理 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
扩展 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 稳定性。