скрипт для создания пользовательских изображений локальных html - PullRequest
0 голосов
/ 19 июня 2020

Это мой скрипт, при запросах которого я получаю ошибку 502

import scrapy
from scrapy.crawler import CrawlerProcess
import os
from scrapy_splash import SplashRequest
import base64

class MySpider(scrapy.Spider):
    name = 'screenshot'
    splash_args = {
            'html': 1,
            'png': 1,
            'headers': {'USER_AGENT':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'}
        }

    def start_requests(self):
        for i in os.listdir('html'):
            url = f'file:///home/madboy/stack/email/html/{i}'
            yield SplashRequest(url, self.parse_result, endpoint='render.html', args=self.splash_args)
            break

    def parse_result(self, response):
        imgdata = base64.b64decode(response.data['png'])
        filename = 'some_image.png'
        with open(filename, 'wb') as f:
            f.write(imgdata)


process = CrawlerProcess(settings={
    'ROBOTSTXT_OBEY': False,
    'CONCURRENT_REQUESTS_PER_DOMAIN':20,
    'DOWNLOADER_MIDDLEWARES':
        {
        'scrapy_splash.SplashCookiesMiddleware': 723,
        'scrapy_splash.SplashMiddleware': 725,
        'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
        },
    'AUTOTHROTTLE_ENABLED': False,
    'SPLASH_URL': 'http://localhost:8050'  # Splash on port 8050

})
process.crawl(MySpider)
process.start()

Здравствуйте, у меня есть папка, заполненная HTML файлами, из которых я хочу сделать снимки экрана мобильного веб-просмотра и просмотра в браузере, я продолжаю получать 502 ошибок на запросы, которые я делаю.

Я изменил рендеринг. json на рендеринг. html но это не помогло, если есть более простой способ добиться этого, скажите мне

...