Python之Scrapy 爬虫框架视频详解

Scrapy定义

Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。

Scrapy特点

Scrapy提供了很多强大的特性来使得爬取更为简单高效, 例如:

HTML, XML源数据 选择及提取的内置支持。

提供了一系列在spider之间共享的可复用的过滤器(即 Item Loaders),对智能处理爬取数据提供了内置支持。

通过 feed 导出提供了多格式(JSON、CSV、XML),多存储后端(FTP、S3、本地文件系统)的内置支持。

提供了media pipeline,可以自动下载爬取到的数据中的图片(或者其他资源)。

高扩展性。您可以通过使用signals,设计好的API(中间件,extensions,pipelines)来定制实现您的功能。

内置的中间件及扩展为下列功能提供了支持:

cookies and session 处理

HTTP 压缩

HTTP 认证

HTTP 缓存

user-agent模拟

robots.txt

爬取深度限制

其他

针对非英语语系中不标准或者错误的编码声明,提供了自动检测以及健壮的编码支持。

支持根据模板生成爬虫。在加速爬虫创建的同时,保持在大型项目中的代码更为一致。详细内容请参阅 genspider 命令。

针对多爬虫下性能评估、失败检测,提供了可扩展的状态收集工具 。

提供交互式shell终端,为您测试XPath表达式,编写和调试爬虫提供了极大的方便。

提供 System service,简化在生产环境的部署及运行。

内置 Telnet 终端,通过在 Scrapy 进程中钩入 Python 终端,使您可以查看并且调试爬虫。

Logging 为您在爬取过程中捕捉错误提供了方便。

支持 Sitemaps 爬取。

具有缓存的DNS解析器。

Scrapy资源预览

Scrapy资源获取

关注“小黑格子屋”公众号

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181029B1E6YS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券