2

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

所需的元数据: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
4

0 回答 0