Scrapy. Как решить 520? - PullRequest
       7

Scrapy. Как решить 520?

0 голосов
/ 10 января 2019

Ответ этого сайта

DEBUG: Crawled (520) <GET https://ddlfr.pw/> (referer: None)

Как я могу решить эту проблему?

Я публикую свой код для объяснения

импорт JSON

from scrapy import Spider, Request, Selector

class LoginSpider(Spider):
    name = 'ddlfr.pw'
    start_urls = ['https://ddlfr.pw/index.php?do=search']
    numero = 0
    def parse(self, response):
        global numero
        return scrapy.FormRequest.from_response(
            response,
            headers = {'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'},
            formdata= {'dosearch': 'Rechercher', 'story': 'musso', 'do': 'search' , 'subaction': 'search', 'search_start': str(self.numero) , 'full_search': '0', 'result_form': '1'},
            callback=self.after_login,
            dont_filter = True
        )

    def after_login(self, response):
        for title in response.xpath('//div[@class="short nl nl2"]'):
            yield {'roman': title.extract()}

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Я предлагаю вам следить за тем, что делает ваш веб-браузер, когда отправляете форму из веб-браузера (вкладка «Сеть» инструментов разработчика), и пытаться воспроизвести запрос с помощью Scrapy.

Например, в Firefox вы можете скопировать успешный запрос с вкладки «Сеть» в виде команды curl, которая является четким представлением запроса.

0 голосов
/ 10 января 2019

да, потому что в Интернете требуются действительные заголовки браузера. в то время как scrapy отправляет заголовки как бот.

Попробуйте использовать следующие заголовки:

headers = {
        'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
    }

forget example, verify headers and output

Вы можете просмотреть статус сканирования на вашем сайте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...