scrapy 中使用 splash

目录

参数,属性

在 setting.py 中配置

在 scrapy 中使用例子


参数,属性

 

 

from scrapy_splash import SplashRequest

SplashRequest构造器方法中的一些常用参数。

  • url
    与scrapy.Request中的url相同,也就是待爬取页面的url。
  • headers
    与scrapy.Request中的headers相同。
  • cookies
    与scrapy.Request中的cookies相同。
  • args
    传递给Splash的参数,如wait(等待时间)、timeout(超时时间)、images(是否禁止加载图片,0禁止,1不禁止)等。
  • endpoint
    Splash服务端点,默认为‘render.html’,即JS页面渲染服务。
  • splash_url
    Splash服务器地址,默认为None,即使用settings.py配置文件中的SPLASH_URL = 'http://localhost:8050'
  • cache_args

对应列表,每次重复执行的脚本,可以用它将脚本缓存到 splash 服务器


 

在 setting.py 中配置

# 用来支持 cache_args (可选)
SPIDER_MIDDLEWARES = {
   'scrapy_splash.SplashDeduplicateArgsMiddleware': 100,
}

# Enable or disable downloader middlewares
# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html
# Splash 服务器地址
SPLASH_URL = "http://192.168.99.100:8050/"  # 自己安装的docker里的splash位置
# 设置去重过滤器
DUPEFILTER_CLASS = "scrapy_splash.SplashAwareDupeFilter"
# 开启 Splash 的两个下载中间件并调整 HttpCompressionMiddleware 次序
DOWNLOADER_MIDDLEWARES = {
    'scrapy_splash.SplashCookiesMiddleware': 723,
    'scrapy_splash.SplashMiddleware': 725,
    'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,  # 不配置查不到信息
}

#设置 http 缓存
HTTPCACHE_ENABLED = True
HTTPCACHE_EXPIRATION_SECS = 0
HTTPCACHE_DIR = 'httpcache'
HTTPCACHE_STORAGE = 'scrapy_splash.SplashAwareFSCacheStorage'

 

 

在 scrapy 中使用例子

https://www.jianshu.com/p/8a8d0ceed8d3

复制上面的代码没有结果,可能是商品下架了,换个商品的 id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值