Извлечь мета-теги с веб-сайта с помощью порции (scrapy)
Извлечь мета-теги с веб-сайта с помощью порции (scrapy)
я хочу использовать portia для извлечения мета-тегов с какого-либо веб-сайта, но он не показывает заголовок, он начинается только с тега body
я могу только извлечь данные из тега тела
2 ответа
Вы должны аннотировать элемент внутри body
а затем перейдите к элементу в head
что вы хотите отобразить.
- Аннотируйте элемент на странице, не имеет значения, какой именно.
- Нажмите на значок настроек во всплывающем окне аннотаций или на панели аннотаций на правой панели инструментов.
- Нажмите на
html
элемент. Вы получите предупреждение о том, что вы потеряете все сопоставленные атрибуты аннотации, нажмите OK. - Нажмите значок настроек еще раз, и на этот раз выберите
head
элемент. - Нажмите на значок настроек еще раз, и вы можете выбрать дочерние элементы в
head
, - После того, как вы выбрали элемент, нажмите
+ Field
нажмите кнопку, чтобы создать новое поле, а затем сопоставить требуемое значение атрибута с целевым полем.
Смотрите также: https://github.com/scrapinghub/portia/issues/60
Вы можете использовать это для мета-имен:
meta_name = hxs.select('//meta/@name').extract()
и это для мета-содержания:
meta_content = hxs.select('//meta/@content').extract()
и это для содержания мета с определенным именем, таким как описание:
meta = hxs.select('//meta[@name=\'description\']/@content').extract()