使用portia(scrapy)从网站中提取Meta标签

时间:2014-11-27 07:55:34

标签: python scrapy web-crawler portia

使用portia(scrapy)从网站提取Meta标签

我想使用portia从某些网站中提取元标记,但它没有显示头标记,它只从body标签开始

我只能从body标签中提取数据

2 个答案:

答案 0 :(得分:7)

您需要在body中注释元素,然后导航到要映射的head中的元素。

  1. 在页面上注释一个元素,它与哪个元素无关。
  2. 点击注释弹出窗口或右侧工具箱注释面板中的设置图标。
  3. 点击html元素。您将收到一条警告,指出您将丢失注释的任何映射属性,单击“确定”。
  4. 再次单击设置图标,这次选择head元素。
  5. 再次点击设置图标,您可以在head
  6. 中选择子元素
  7. 选择元素后,点击+ Field按钮创建一个新字段,然后将所需的属性值映射到目标字段。
  8. 另请参阅:https://github.com/scrapinghub/portia/issues/60

答案 1 :(得分:1)

你可以将它用于元名称:

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

这是元内容:

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

这是具有特定名称的元的内容,如描述:

meta = hxs.select('//meta[@name=\'description\']/@content').extract()