Извлечь мета-теги с веб-сайта с помощью порции (scrapy)

Извлечь мета-теги с веб-сайта с помощью порции (scrapy)

я хочу использовать portia для извлечения мета-тегов с какого-либо веб-сайта, но он не показывает заголовок, он начинается только с тега body

я могу только извлечь данные из тега тела

2 ответа

Вы должны аннотировать элемент внутри body а затем перейдите к элементу в head что вы хотите отобразить.

  1. Аннотируйте элемент на странице, не имеет значения, какой именно.
  2. Нажмите на значок настроек во всплывающем окне аннотаций или на панели аннотаций на правой панели инструментов.
  3. Нажмите на html элемент. Вы получите предупреждение о том, что вы потеряете все сопоставленные атрибуты аннотации, нажмите OK.
  4. Нажмите значок настроек еще раз, и на этот раз выберите head элемент.
  5. Нажмите на значок настроек еще раз, и вы можете выбрать дочерние элементы в head,
  6. После того, как вы выбрали элемент, нажмите + 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()
Другие вопросы по тегам