Я использую Scrapy CrawlSpider
для сканирования веб-сайтов и обработки их содержимого на странице. Для этого я использую Scrapy Docs Crawlspider Example.Scrapy CrawlSpider parse_item для ответа перенаправления 302
Отдельная страница на ссылках принимает параметр target
через запрос GET (скажем http://www.example.com?target=x
) и перенаправляет (302), если значение является ошибочным. При получении этого ответа 302 HTTP, scrapy следует за перенаправлением, но не обрабатывает response
в методе parse_item
, как и предполагалось мной.
Я столкнулся с несколькими решениями, предлагающими meta/dont_redirect/http_status_list
, но ни один из них не вступает в силу.
Пожалуйста, предложите, как я могу разобрать ответ перенаправления 302, без/до следующего в перенаправленном местоположении 302.
Scrapy версия: 0.24.6
Во-первых, вы должны использовать Scrapy v1 + и с 'мета = {«dont_redirect»: Правда } 'должен остановить« RedirectMiddleware », который включен по умолчанию, перенаправляет перенаправление на коды статуса переадресации, такие как 302. Если это не помогает, нам нужна дополнительная информация. – Granitosaurus
@ Granitosaurus Я знаю, версия 0.24 довольно старая, но я работаю над старой базой, которая не может быть немедленно перенесена в v1.0, поэтому придется иметь дело только с этим, более того, где именно должно быть это 'meta = {'dont_redirect': True } 'быть поставлен? Простое определение его в определении класса не помогает. – bawejakunal
oh нет, я опубликовал подробный ответ, как включить это :) – Granitosaurus