【系列】scrapy爬虫开发(9)Splash下载服务器

9.Splash下载服务器

原生scrapy的下载器本质上就是twisted建立TCP连接,然后直接请求单个url返回响应,不能继续请求其他相关的静态资源(除非手动编码yield所有解析到的url,但是这样的编码显然太复杂)比如js/css,更不能渲染网页。如此简单的功能,不仅不能获取需要动态渲染才能获取到的内容,也容易被很多网站反爬。
所以必须采用新的下载器,新的下载器必须能够可以像浏览器一样只需请求基本的网址,然后自动获取所有相关的静态资源,且能够执行js,渲染css,得到与真实浏览器相似的页面。
splash这类下载器和selenium这类自动化测试工具都可以实现,两者各有优势。splash可以与scrapy深度结合,性能较佳,代码逻辑较清晰;selenium使用真实的浏览器引擎,是应对反爬的最佳选择,还可以通过代码模拟各种浏览器动作,功能强大,但缺点是与scrapy配合度不够,性能较差。

scrapy_splash库

scrapy_splash主要内容:
1.一些中间件。
2.去重。
3.http缓存。
4.重写了原生scrapy的Request和Response类。

splash安装配置

splash通过建立服务、监听独立的端口,通过httpAPI实现功能,scrapy发出的请求不再进入原生下载器,而是传递给splash服务的API,splash会请求url得到响应后返回给scrapy。
splash运行在docker容器内,可通过官方提供的shell

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值