搜索

pdf文档 Scrapy 1.0 Documentation

1.05 MB 244 页 0 下载 86 浏览 0 评论 0 收藏
语言 格式 评分
英语
.pdf
3
摘要
文档详细记录了Scrapy 1.0版本的更新内容,包括新功能的添加、性能的优化、兼容性的调整以及问题的修复。主要内容涵盖:支持AJAX可爬取URL、新增持久化爬虫调度器、支持分块传输编码、添加对Boto 2.0的支持、默认选择器从libxml2切换到lxml、移除对Python 2.5和Twisted 2.5的支持、改进统计收集模块、重构信号和状态收集机制等。文档还列出了多项API更改、新功能和增强功能,以及如何配置和使用Scrapy。
AI总结
### Scrapy 1.0 Documentation 总结 #### 1. 版本更新日志 - **1.0.7 版本更新**: - 修复了缓存失败的内存泄漏问题。 - 修复了 MemoryUsage 扩展中 `get_engine_status()` 方法的参数问题。 - 解决了 HTTP 压缩中间件的 `struct.error` 问题。 - 解决了 AJAX 爬取 Unicode URL 的问题。 - 捕获 `start_requests` 迭代器错误。 - 优化 `libxml2 XPathSelector` 的性能。 - 更新版本说明文档。 - 修复 Scrapyd 文档链接。 - **0.14 版本更新**: - 新增支持 AJAX 爬取 URL。 - 引入持久化调度器,支持暂停和恢复爬取。 - 新增 `-o` 命令行选项,用于将抓取结果输出到文件或标准输出。 - 支持自定义设置通过 Scrapyd 的 schedule.json API 传递。 - 新增 ChunkedTransferMiddleware,支持分块传输编码。 - 支持 Boto 2.0 的 S3 下载器处理程序。 - 新增对 `marshal` 格式的 feed 导出支持。 - 错误处理优化:失败请求信息存储在 `failure.request` 属性中。 - 下载器重构,支持按域名/IP 的并发限制。 - **0.16 版本更新**: - 新增 Spiders Contracts,用于以可重复的方式测试蜘蛛。 - 新增 `runspider` 命令的 `-o` 和 `-t` 选项。 - 文档化并默认启用 AutoThrottle 扩展。 - 重构统计收集模块,简化统计功能。 - 新增 `process_start_requests()` 方法到蜘蛛中间件。 - 移除 Signals 和 Stats Collector 单例,改为通过 Crawler 访问。 - lxml 成为默认选择器后端,替代 libxml2。 - 移除未使用的 `scrapy.xlib.BeautifulSoup` 和 `scrapy.xlib.ClientForm`。 - 支持 SitemapSpider 处理 `.xml` 和 `.xml.gz` 格式的sitemap链接。 - 新增 `dont_redirect` 和 `dont_retry` 元数据键,控制重定向和重试行为。 - 移除对 Python 2.5 和 Twisted 2.5 的支持。 #### 2. 新功能和设置 - **新功能**: - AJAX 爬取支持。 - 持续抓取支持(暂停和恢复)。 - 命令行工具增强(如 `scrapy.bat` 和 bash 补全)。 - 新增 `StackTraceDump` 扩展,支持记录线程堆栈信息。 - 支持 JSON 和 JSONLines 导出中的嵌套项。 - **新设置**: - `REFERER_ENABLED` 控制referer中间件。 - `DOWNLOAD_TIMEOUT` 和 `USER_AGENT` 属性替换旧的 spider 属性。 - 移除 `ENCODING_ALIASES` 设置,编码检测依赖 `w3lib.encoding`。 #### 3. API 变化 - **主要变化**: - `Request` 对象的 `url` 和 `body` 属性变为只读。 - `Request.copy()` 和 `Request.replace()` 方法新增对 callback 和 errback 属性的支持。 - 移除 `UrlFilterMiddleware` 和 `SpiderManager`。 - 重构信号和统计收集模块,改为通过 Crawler 访问。 - 重构模块路径,如 `scrapy.contrib` 模块合并到 `scrapy.utils`。 #### 4. 弃用和移除 - **弃用**: - `SpiderManager` 被移除,建议使用 `SpiderLoader`。 - `UrlFilterMiddleware` 已禁用,默认不再使用。 - 移除 `Spider.middlewares` 中的某些默认中间件。 - **移除**: - 不再支持 Python 2.5 和 Twisted 2.5。 - 移除未记录的 `HTMLImageLinkExtractor` 类。 - 移除 `BaseSgmlLinkExtractor` 的部分旧功能。 #### 5. 其他改进 - **日志和统计**: - 新增 Python 标准日志支持。 - 重构统计收集模块,移除全局和 spider 级别的统计分离。 - **性能和兼容性**: - 提升 feed 导出性能,支持更多格式。 - 新增 DNS 缓存大小和超时选项。 - 支持 XML 命名空间前缀在 `xmliter_lxml` 中使用。 - **文档和工具**: - 更新命令行工具文档,新增对所有子命令的支持。 - 文档化核心 API 和扩展功能。 - 修复文档中的格式问题和错误。 总结:Scrapy 1.0 版本在功能、性能和兼容性方面有显著提升,新增了 AJAX 爬取、持久化调度器等重要特性,并对 API 和模块进行了重构,提升了框架的灵活性和可维护性。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 237 页请下载阅读 -
文档评分
请文明评论,理性发言.