【问题标题】:How to run splash using docker toolbox如何使用 docker 工具箱运行 splash
【发布时间】:2019-09-06 00:00:38
【问题描述】:

我正在尝试使用带有 splash 的 scrapy 从网络上抓取动态内容,我使用的是 Windows 10 家庭版。有没有办法使用 Docker 工具箱而不是 docker-desktop 来使用splash?

docker 工具箱说,它是无法运行 docker-desktop 的系统的替代方案。 docker 桌面应用程序对于启动非常重要,它需要 Windows 10 专业版或企业版。

我找不到配置 docker-toolbox 以进行启动的方法。是否有任何指南可以帮助在我的 Windows 10 家庭版上使用 docker-toolbox 配置启动画面。谢谢!

【问题讨论】:

    标签: docker scrapy splash-screen splash-js-render


    【解决方案1】:

    docker-toolbox 也可以正常工作。只需遵循类似的过程,并确保提供您可以访问的 docker 全局 url:

    docker-machine ip default
    

    如果你不知道流程,这里是一种方法,你可以使用scrapy-splash

    在 docker 上运行启动

    # Install Docker 'http://docker.io/'
    # Pull the image:
        $ sudo docker pull scrapinghub/splash
    # Start the container:
        $ sudo docker run -p 8050:8050 -p 5023:5023 scrapinghub/splash
    # Splash is now available at 192.168.99.100 at ports 8050 (http) and 5023 (telnet).
    

    插入scrapy.setting

    # splash for scripting or js dependent web-page
    # Access docker-machine ip=> docker-machine ip default
    
    SPLASH_URL = '<docker-hosted machine ip:port>' # docker url
    #SPLASH_URL = 'http://192.168.99.100:8050' # docker url
    
    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'
    

    解析 url.. 在生成 url 之前添加一个启动元数据

    response.meta['splash'] = {'args': { 'html': 1, 'png': 1}, 'endpoint': 'render.json'}
    yield scrapy.Request(response.url, callback=self.parse_page, meta=response.meta)
    

    有关详细信息,请查看此文档:
    javascript-in-scrapy-with-splash
    splash-through-http-api

    【讨论】:

      猜你喜欢
      • 2018-06-11
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      • 1970-01-01
      相关资源
      最近更新 更多