Scrapy 0.25 文档¶
本文档涵盖了所有Scrapy的内容。
获得帮助¶
遇到问题了?我们来帮您!
- 查看下 FAQ ,这里有些常见的问题的解决办法。
- 寻找详细的信息?试试 索引 或者 模块索引 。
- 您可以在 scrapy-users的邮件列表 中寻找内容,或者 提问问题
- 在 #scrapy IRC channel 提问
- 在 issue tracker 中提交Scrapy的bug
第一步¶
- 初窥Scrapy
- 了解Scrapy如何祝你一臂之力。
- 安装指南
- 安装Scrapy。
- Scrapy入门教程
- 编写您的第一个Scrapy项目。
- 例子
- 通过把玩已存在的Scrapy项目来学习更多内容。
基本概念¶
- 命令行工具(Command line tools)
- 学习用于管理Scrapy项目的命令行工具
- Items
- 定义爬取的数据
- Spiders
- 编写爬取网站的规则
- 选择器(Selectors)
- 使用XPath提取网页的数据
- Scrapy终端(Scrapy shell)
- 在交互环境中测试提取数据的代码
- Item Loaders
- 使用爬取到的数据填充item
- Item Pipeline
- 后处理(Post-process),存储爬取的数据
- Feed exports
- 以不同格式输出爬取数据到不同的存储端
- Link Extractors
- 方便用于提取后续跟进链接的类。
内置服务¶
- Logging
- 了解Scrapy提供的logging功能。
- 数据收集(Stats Collection)
- 收集爬虫运行数据
- 发送email
- 当特定事件发生时发送邮件通知
- Telnet终端(Telnet Console)
- 使用内置的Python终端检查运行中的crawler(爬虫)
- Web Service
- 使用web service对您的爬虫进行监控和管理
解决特定问题¶
- 常见问题(FAQ)
- 常见问题的解决办法。
- 调试(Debugging)Spiders
- 学习如何对scrapy spider的常见问题进行debug。
- Spiders Contracts
- 学习如何使用contract来测试您的spider。
- 实践经验(Common Practices)
- 熟悉Scrapy的一些惯例做法。
- 通用爬虫(Broad Crawls)
- 调整Scrapy来适应并发爬取大量网站(a lot of domains)。
- 借助Firefox来爬取
- 了解如何使用Firefox及其他有用的插件来爬取数据。
- 使用Firebug进行爬取
- 了解如何使用Firebug来爬取数据。
- 调试内存溢出
- 了解如何查找并让您的爬虫避免内存泄露。
- 下载项目图片
- 下载爬取的item中的图片。
- Ubuntu 软件包
- 在Ubuntu下下载最新的Scrapy。
- Scrapyd
- 在生产环境中部署您的Scrapy项目。
- 自动限速(AutoThrottle)扩展
- 根据负载(load)动态调节爬取速度。
- Benchmarking
- 在您的硬件平台上测试Scrapy的性能。
- Jobs: 暂停,恢复爬虫
- 学习如何停止和恢复爬虫
- DjangoItem
- 使用Django模型编写爬取的item
扩展Scrapy¶
- 架构概览
- 了解Scrapy架构。
- 下载器中间件(Downloader Middleware)
- 自定义页面被请求及下载操作。
- Spider中间件(Middleware)
- 自定义spider的输入与输出。
- 扩展(Extensions)
- 提供您自定义的功能来扩展Scrapy
- 核心API
- 在extension(扩展)和middleware(中间件)使用api来扩展Scrapy的功能
参考¶
- 命令行工具(Command line tools)
- 学习命令行工具及所有 可用的命令 。
- Requests and Responses
- 了解代表HTTP请求和回复的request,response类
- Settings
- 了解如何配置Scrapy及所有 可用的设置 。
- 信号(Signals)
- 查看如何使用及所有可用的信号
- 异常(Exceptions)
- 查看所有可用的exception以及相应的意义。
- Item Exporters
- 快速将您爬取到的item导出到文件中(XML, CSV等格式)
其他¶
- Release notes
- 了解最近的Scrapy版本的修改。
- Contributing to Scrapy
- 了解如何为Scrapy项目做出贡献。
- Versioning and API Stability
- 了解Scrapy如何命名版本以及API的稳定性。
- 试验阶段特性
- 了解最新的特性