Scrapy Spider работает локально, но не на скребке - PullRequest
0 голосов
/ 22 ноября 2018

Я использую паук-скрап для отправки 2-х запросов POST на сайт.На моем локальном компьютере это работает, и я получаю 2 ответа.

Но в Scrapy Cloud ( scrapinghub.com ) я получаю одинаковую ошибку для каждого запроса:

[scrapy.core.scraper] Ошибка загрузки https://baca.ii.uj.edu.pl/p12018/testerka_gwt/problems>: twisted.python.failure.Failure OpenSSL.SSL.Error: [('Подпрограммы SSL', 'SSL23_GET_SERVER_HELLO', 'внутренняя ошибка оповещения tlsv1')]>]

Срок действия сертификата сайта истек, и я думаю, что это вызывает проблемы.Но в документах Scrapy говорится, что сертификат сайта по умолчанию не проверяется, поэтому я не знаю.

Мой код паука:

class resultsTest(scrapy.Spider):
    name = "results"

    custom_settings = {
        'ROBOTSTXT_OBEY': False,
    }

    def start_requests(self):
        firstAss = 4 #first assignment
        lastAss = 5 #last assignment
        url = 'https://baca.ii.uj.edu.pl/p12018/testerka_gwt/problems'
        bodyBeginning = '7|0|5|https://baca.ii.uj.edu.pl/p12018/testerka_gwt/|548F7E6329FFDEC9688CE48426651141|testerka.gwt.client.problems.ProblemsService|getProblemStatistic|I|1|2|3|4|1|5|'
        headers = {
                "Content-Type": "text/x-gwt-rpc; charset=UTF-8",
                "X-GWT-Module-Base": "https://baca.ii.uj.edu.pl/p12018/testerka_gwt/",
                "X-GWT-Permutation": "5A4AE95C27260DF45F17F9BF027335F6",
                }

        for num in range(firstAss, lastAss + 1):
            body = bodyBeginning + str(num) + "|" 
            yield scrapy.Request(
                    url,
                    method = "POST",
                    headers = headers,
                    body = body)

    def parse(self, response):
        yield response.body_as_unicode()
...