Scrapy 的优缺点?以及如何设置深度爬取

优点:

1)scrapy 是异步的
2)采取可读性更强的 xpath 代替正则
3)强大的统计和 log 系统
4)同时在不同的 url 上爬行
5)支持 shell 方式,方便独立调试
6)写 middleware,方便写一些统一的过滤器
7)通过管道的方式存入数据库

缺点:

1)基于 python 的爬虫框架,扩展性比较差
2)基于 twisted 框架,运行中的 exception 是不会干掉 reactor(反应器),并且异步框架出错后 是不会停掉其他任务的,数据出错后难以察觉。

设置深度爬取

通过在 settings.py 中设置 depth_limit 的值可以限制爬取深度,这个深度是与 start_urls 中 定义 url 的相对值。也就是相对 url 的深度。若定义 url 为 http://www.domz.com/game/,depth_limit=1 那么限制爬取的只能是此 url 下一级的网页。深 度大于设置值的将被忽视。

scrapy以及scrapy-redis区别

  • scrapy 是一个 Python 爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。
  • 而 scrapy-redis 一套基于 redis 数据库、运行在 scrapy 框架之上的组件,可以让 scrapy 支持分布式策略, Slaver 端共享 Master 端 redis 数据库里的 item 队列、请求队列和请求指纹集合。
    • 为什么选择 redis 数据库,因为 redis 支持主从同步,而且数据都是缓存在内存中的,所以基于 redis 的分布式爬虫,对请求和数据的高频读取效率非常高。
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值