1

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

我想使用 portia 从某个网站中提取元标签,但它没有显示 head 标签,它仅从 body 标签开始

我只能从身体标签中提取数据

4

2 回答 2

7

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

  1. 在页面上注解一个元素,不管是哪个元素。
  2. 单击注释弹出窗口或右侧工具箱的注释面板中的设置图标。
  3. 单击该html元素。您将收到一条警告,说明您将丢失注释的任何映射属性,单击确定。
  4. 再次单击设置图标,这次选择head元素。
  5. 再次单击设置图标,您可以选择head.
  6. 选择元素后,单击+ Field按钮创建一个新字段,然后将所需的属性值映射到目标字段。

另见:https ://github.com/scrapinghub/portia/issues/60

于 2015-08-03T15:42:11.063 回答
1

您可以将其用于元名称:

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

这对于元内容:

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

这适用于具有特定名称(如描述)的元内容:

meta = hxs.select('//meta[@name=\'description\']/@content').extract()
于 2015-08-01T10:48:08.977 回答