Splash:将截屏元数据收集为项目

时间:2018-03-29 01:14:58

标签: python-3.x scrapy screen-capture splash scrapy-splash

我正在使用scrapy-splash截取网页并输出带有一些元数据的png。我知道scrapy logs引擎使用时间戳等执行的所有操作,但是无法弄清楚如何在我的蜘蛛中访问该信息并将其传递给项目。任何建议或提示都将非常受欢迎。

期望的元数据:1)目标站点IP; 2)页面加载时的时间戳(UTC); 3)页面捕获时的时间戳(UTC)

import json
import base64
import scrapy
from scrapy_splash import SplashRequest
from project_spider.screenshot_format import PDF

class screenshot(scrapy.Spider):

    name = 'screenshot'

    def start_requests(self):
        url = 'http://www.gxjjw.gov.cn/staticpages/20171109/gxjjw5a03a8bc- 
               128325.shtml'

        splash_args = {
            'wait': 3.0,
            'html': 1,
            'png': 1,
            'width': 600,
            'render_all': 1,
            'wait': 3.0,
        }

        yield SplashRequest(url, self.parse_result, endpoint='render.json', 
                        args=splash_args)

    def parse_result(self, response):

        png_b64 = response.data['png']
        header = 'data:image/png;base64,'
        png_b64 = header + png_b64 

        # Meta-data variables will go here

0 个答案:

没有答案