首页 > 技术文章 > [模块] scrapy_splash(迁移)

justaman 2019-07-24 20:18 原文

爬虫模块:beautifulsoup4

 

scrapy_splash:

pip install scrapy_splash

scrapy_splash模块,与selenium类似,用来获取js渲染后的html页面

scrapy-splash模块主要使用了Splash. 所谓的Splash, 就是一个Javascript渲染服务。它是一个实现了HTTP API的轻量级浏览器,Splash是用Python实现的,同时使用Twisted和QT。Twisted(QT)用来让服务具有异步处理能力,以发挥webkit的并发能力。

scrapy-splash使用的是Splash HTTP API, 所以需要一个splash instance,一般采用docker运行splash,所以需要安装docker。

--https://www.cnblogs.com/jclian91/p/8590617.html

安装好docker后:

拉取镜像:sudo dock pull scrapinghub/splash

然后创建容器:sudo docker run -p 8050:8050 scrapinghub/splash

验证是否安装成功:Splash运行在本地服务器的端口8050(http).在浏览器中输入'localhost:8050'测试

 

框架中的Request更换为SplashRequest,html就会通过splash服务获取

SplashRequest(url=url, callback=self.parse,argsargs,endpoint='render.html')

推荐阅读