pdf文档 Scrapy 1.0 Documentation

1.05 MB 244 页 0 评论
语言 格式 评分
英语
.pdf
3
摘要
文档详细介绍了Scrapy 1.0版本的新功能和改进,包括蜘蛛返回字典的能力、自定义蜘蛛设置的引入、从Twisted日志迁移到Python内置日志系统、并发请求和项目设置的优化。此外,还介绍了Scrapy的核心概念、命令行工具、异常处理以及构建和使用Scrapy项目的基本流程。新版本还支持了对单个蜘蛛的设置优先级配置,并增强了下载延迟和重试机制。
AI总结
以下是对《Scrapy 1.0 Documentation》的中文总结,重点突出核心观点和关键信息,语言简洁明了,逻辑连贯: --- ## 《Scrapy 1.0 Documentation》总结 ### 1. 新特性与改进 - **返回字典的支持**: Scrapy 1.0允许蜘蛛直接返回字典,而不是必须声明和返回Scrapy项(Item)。示例: 旧版本: ```python class MySpider(scrapy.Spider): def parse(self, response): return MyItem(url=response.url) ``` 新版本: ```python class MySpider(scrapy.Spider): def parse(self, response): return {'url': response.url} ``` - **蜘蛛级设置**: 通过在蜘蛛中定义`custom_settings`类变量,可以为单个蜘蛛配置专属设置,覆盖项目设置。示例: ```python class MySpider(scrapy.Spider): custom_settings = { "DOWNLOAD_DELAY": 5.0, "RETRY_ENABLED": False, } ``` - **日志系统改进**: Scrapy 1.0默认使用Python内置的`logging`模块,取代了Twisted日志系统。旧日志接口仍兼容但会提示警告,建议完全迁移至`logging` API。 示例: 旧版本: ```python from scrapy import log log.msg('MESSAGE', log.INFO) ``` 新版本: ```python import logging logging.info('MESSAGE') ``` ### 2. 关键设置参数 - **并发请求设置**: - `CONCURRENT_REQUESTS`:默认值16,表示同时进行的最大请求数。 - `CONCURRENT_REQUESTS_PER_DOMAIN`:默认值8,表示对单个域名的并发请求数限制。 - `CONCURRENT_REQUESTS_PER_IP`:默认值0,表示对单个IP的并发请求数限制。如果非零,`CONCURRENT_REQUESTS_PER_DOMAIN`将被忽略。 - **下载延迟与随机化**: - `DOWNLOAD_DELAY`:默认值0,表示下载延迟时间。 - `RANDOMIZE_DOWNLOAD_DELAY`:默认值True,启用随机延迟,可降低被反爬器检测的风险。 - **其他设置**: - `DEPTH_LIMIT`:默认值0,表示爬取深度限制。值为0时无限制。 - `DEFAULT_REQUEST_HEADERS`:默认HTTP请求头,包含_accept_和_accept-language_等字段。 ### 3. 命令行工具 - **Scrapy Shell**: 用于快速测试和调试爬虫,启动方式:`scrapy shell [url]`。支持空URL启动。 - **Scrapy Parse**: 分析指定URL并解析内容,启动方式:`scrapy parse [options]`。支持自定义蜘蛛、回调方法、管道处理等。 ### 4. 异常与日志 - **异常处理**: 文档列举了Scrapy中所有可用的异常及其含义,帮助开发者更好地理解和处理错误。 - **日志记录**: 新版本支持通过蜘蛛的自定义日志器记录日志,记录方式与`logging`模块一致。 ### 5. 其他功能 - **Link Extractors**: 提供便捷的链接提取类,用于从网页中提取链接。 - **URL Length Limit**: 通过`URLLENGTH_LIMIT`设置限制URL长度,避免处理过长的URL。 --- 以上是文档的核心内容总结,涵盖了Scrapy 1.0的新特性、关键设置、命令行工具和异常处理等方面,确保内容完整且易于理解。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 237 页请下载阅读 -
文档评分
请文明评论,理性发言.