#python #web-scraping #scrapy #if-none-match
#python #веб-очистка #scrapy #if-none-match
Вопрос:
Я очищаю сайт с помощью Scrapy, но некоторые из его API не возвращают данные JSON без заголовка ‘if-none-match’.
У меня более 100 списков API, поэтому я хочу сгенерировать автоматические заголовки для получения действительного файла JSON. кто-нибудь знает, как справиться с этим, или есть какой-либо другой способ избавиться от него.
Заранее спасибо.
Ответ №1:
Вы можете использовать этот DEFAULT_REQUEST_HEADERS
параметр, если хотите определить заголовки для всех запросов:
# settings.py
DEFAULT_REQUEST_HEADERS={
'Accept': 'text/html,application/xhtml xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en',
'If-None-Match': '*',
}
или headers
параметр для отдельных запросов:
req = scrapy.Request(url, callback=self.parse, headers={'If-None-Match': '*'})