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

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

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

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


person rahul mehta    schedule 27.11.2014    source источник


Ответы (2)


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

  1. Аннотируйте элемент на странице, неважно какой.
  2. Щелкните значок настроек либо во всплывающем окне аннотаций, либо на панели аннотаций на правой панели инструментов.
  3. Щелкните элемент html. Вы получите предупреждение о том, что вы потеряете все атрибуты, сопоставленные с аннотацией, нажмите «ОК».
  4. Щелкните значок настроек еще раз и на этот раз выберите элемент head.
  5. Щелкните значок настроек еще раз, и вы сможете выбрать дочерние элементы в head.
  6. Выбрав элемент, нажмите кнопку + Field, чтобы создать новое поле, а затем сопоставьте желаемое значение атрибута с целевым полем.

См. также: https://github.com/scrapinghub/portia/issues/60.

person Richard Dowinton    schedule 03.08.2015

вы можете использовать это для мета-имен:

meta_name = hxs.select('//meta/@name').extract()

и это для мета-контента:

meta_content = hxs.select('//meta/@content').extract()

и это для содержимого мета с определенным именем, например описанием:

meta = hxs.select('//meta[@name=\'description\']/@content').extract()
person Maryam Homayouni    schedule 01.08.2015