Мне нужно определить, является ли страница, загруженная пауком Scrapy, html или нет.На сайте, который я хочу, чтобы паук сканировал, есть сочетание ссылок pdf и html.Следовательно, если он натолкнется на PDF-файл, он отправит ответ через PDFReader, иначе он прочтет HTML-файл как есть.Это часть моего кода, но он не работает:
import scrapy
class QuotesSpider(scrapy.Spider):
name = "spyder_OLD"
allowed_domains = ['doc.scrapy.org']
start_urls = ['https://doc.scrapy.org/en/latest/index.html']
def parse(self, response):
ct = response.headers.get("content-type", "").lower()
return ct
Я выводю результаты паука в файл .csv, но он всегда пуст.Просто наличие ct = response.headers
выводит всю информацию заголовка, что бесполезно.Что мне делать?
РЕДАКТИРОВАТЬ: Мне наконец удалось вернуть словарь, но я все еще не могу извлечь соответствующую информацию:
import scrapy
class QuotesSpider(scrapy.Spider):
name = "spyder_OLD"
allowed_domains = ['doc.scrapy.org']
start_urls = ['https://doc.scrapy.org/en/latest/index.html']
def parse(self, response):
ct = {"content-type": response.headers.get("content-type", "").lower()}
return ct["content-type"]
Вывод вышеприведенногов файл .csv по-прежнему возвращает пустой файл, хотя output ct
возвращает файл .csv с двумя строками: content-type
и text/html
.Как извлечь текстовую часть ответа только в формате html?