scrapy爬取前端渲染页面

2020-04-14  本文已影响0人  LiviSun

最近用scrapy写的爬虫爬一个页面的时候,页面结构明明是有内容的,但是xpath定位却是空的,我意识到这是一个Vue写的页面,数据是动态渲染的,于是在网上找到一个插件splash。

  1. 安装splash
$ docker run -p 8050:8050 -p 8051:8051 scrapinghub/splash
  1. 在scrapy项目中配置
pip install scrapy-splash
#你刚刚开启的splash服务的地址
SPLASH_URL = 'http://192.168.11.18:32768'  
# 开启Splash的两个下载中间件并调整HttpCompressionMiddleware的次序
DOWNLOADER_MIDDLEWARES = {
    'scrapy_splash.SplashCookiesMiddleware': 723,
    'scrapy_splash.SplashMiddleware': 725,
    'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
}
# 设置去重过滤器
DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'
// scrapy.Request(url= Url, callback = self.parseXXX)
SplashRequest(url= Url, args={'wait': 1},callback = self.parseXXX)

args参数中 wait表示延时,其他参数请自行查阅


ok,现在我们就可以愉快的抓取动态渲染的页面了,溜了。

上一篇下一篇

猜你喜欢

热点阅读