利用scrapy-splash爬取js生成的动态网页

1. 简介

splash是一个JavaScript渲染服务。它是一个实现了HTTP API的轻量级浏览器,splash使用python实现的,同时使用Twisted和QT。Twisted(QT)用来让服务具有异步处理能力,以发挥webkit的并发能力。

2. 安装

2.1 利用pip安装scrapy-splash库:

pip install scrapy-splash

2.2 拉取镜像(pull the image):

docker pull scrapinghub/splash

2.3 用docker启动scrapinghub/splash:

docker run -d -p 8050:8050 scrapinghub/splash

2.4 在爬虫项目中的settings.py中添加如下配置:

SPLASH_URL = 'http://localhost:8085'

DOWNLOADER_MIDDLEWARES = {
'scrapy_splash.SplashCookiesMiddleware': 723,
'scrapy_splash.SplashMiddleware': 725,
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
}

SPIDER_MIDDLEWARES = {
'scrapy_splash.SplashDeduplicateArgsMiddleware': 100,
}

DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'

HTTPCACHE_STORAGE = 'scrapy_splash.SplashAwareFSCacheStorage'

你可能感兴趣的:(利用scrapy-splash爬取js生成的动态网页)