安装Splash(拉取镜像下来)
docker pull scrapinghub/splash
安装scrapy-splash
pip install scrapy-splash
启动容器
docker run -p 8050:8050 scrapinghub/splash
setting 里面配置
SPLASH_URL = 'http://192.168.99.100:8050' #(很重要写错了会出目标电脑积极拒绝)
添加Splash中间件,指定优先级
DOWNLOADER_MIDDLEWARES = {
'scrapy_splash.SplashCookiesMiddleware': 723,
'scrapy_splash.SplashMiddleware': 725,
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
}
设置Splash自己的去重过滤器
DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'
缓存后台存储介质
HTTPCACHE_STORAGE = 'scrapy_splash.SplashAwareFSCacheStorage' # 以上两条必加
eg:
import scrapy
from scrapy_splash import SplashRequest
class JsSpider(scrapy.Spider):
name = "jd"
allowed_domains = ["jd.com"]
start_urls = [
"http://www.jd.com/"
]
def start_requests(self):
for url in self.start_urls:
yield SplashRequest(url, self.parse, args={'wait': 0.5})
def parse(self, response):
print('----------使用splash爬取京东网首页异步加载内容-----------')
rs=response.xpath('//span[@class="ui-areamini-text"]/text()').extract()[0]
print(rs)
print('---------------success----------------')
官方文档:https://pypi.python.org/pypi/scrapy-splash
相关文章
- 01-05单片机学习(五)LCD1602和矩阵键盘的使用
- 01-05香橙派OrangePi zero2开发板连接3.5寸SPI LCD显示屏的使用方法
- 01-05LCD液晶模组使用和储存的注意事项有哪些呢?
- 01-05终端中经常使用的shell 命令
- 01-05setFocus一定要写在setLayout设置的后面,否则不起作用——使用setFocusPolicy为控件设置不同的焦点策略:Tab焦点,Click焦点,Wheel焦点和没有焦点
- 01-05Winform使用DevExpress的WaitDialogForm画面 z
- 01-05Day4:编译型和解释型,idea的使用和配置
- 01-05PTA QQ帐户的申请与登陆(map的简单应用)
- 01-05一次scrapy成功停止的信息
- 01-05Joker恶意软件的最新攻击技巧:使用Github隐藏有效载荷