Scrapy: Как воспроизвести результаты, не загружая HTML снова?
Загрузив HTML-код на мой жесткий диск с помощью Scrapy (например, используя встроенный Экспортер элементов с полем HTML
или сохраняя все файлы HTML в папке), как я могу использовать Scrapy, чтобы снова прочитать данные с моего жесткого диска и выполнить следующий шаг в конвейере? Есть ли что-то вроде импортера предметов?
1 ответ
Если HTML-страницы хранятся на локальном ПК, с которого вы запускаете Scrapy, вы можете очистить URI как:
file:///tmp/page1.html
используя Scrapy. В этом примере я предполагаю, что одна такая страница хранится в файле /tmp/page1.html
,
Второй вариант - использовать любой способ, чтобы получить содержимое файлов и вручную создать Selector
объект как это:
import scrapy
# read the content of the page into page_content variable
root_sel = scrapy.Selector(text=page_content)
Затем вы можете нормально обрабатывать root_sel
например, селектор
title = root_sel.css('h1.title').extract_first()