微数据

Elastic
• 阅读 1281

一、微数据介绍

Microdata是在网页中提供额外语义的标准方式。

Microdata可定义自己的自定义元素,并开始在网页中嵌入自定义属性。在高水平上,微数据由一组名称 - 值对组成。

微数据使用来自自定义词汇表的、带作用域的名/值对来给DOM做标记,微数据的本质就是JSON。

二、微数据实际应用举例

一般写法:

<div>
  我的名字是大熊,但大家叫我小熊。我的个人首页是:
  <a href="http://www.example.com">www.example.com</a>
  我住在徐州市。我是工程师,目前在科技公司上班。
</div>

而如果使用针对人物的微数据标记,则HTML会如下:

<div itemscope itemtype="http://data-vocabulary.org/Person">
  我的名字是<span itemprop="name">大熊</span>,
  但大家叫我<span itemprop="nickname">小熊</span>。
  我的个人首页是:
  <a href="http://www.example.com" itemprop="url">www.example.com</a>
  我住在徐州市。我是<span itemprop="title">工程师</span>,
  目前在<span itemprop="affiliation">科技公司</span>上班。
</div>

HTML代码量多了不少,还出现了很多自定义的属性,如itemscope, itemtype, itemprop等。这些属性就是方面机器识别的特定的标记。

Live Microdata对上面的HTML代码跑一下:

{
  "items": [
    {
      "type": [
        "http://data-vocabulary.org/Person"
      ],
      "properties": {
        "name": [
          "大熊"
        ],
        "nickname": [
          "小熊"
        ],
        "url": [
          "http://www.example.com/"
        ],
        "title": [
          "工程师"
        ],
        "affiliation": [
          "科技公司"
        ]
      }
    }
  ]
}

三、属性介绍

属性描述
itemscope声明所使用的作用域
itemtype微数据定义的类型。其值为URL,扮演词汇表名称的作用
itemid允许词汇表给微数据项定义一个全局标识符,例如书的ISBN数值,在同样元素上使用itemid作为数据项的itemscope和itemtype属性
itemprop添加一个数据项属性
itemref此属性提供了一个附加元素列表,用于爬网以查找该项目的名称 - 值对。

itemref 使用举例

<p itemscope itemref="test-members">我要去看<span itemprop="name">flower</span>的演唱会,好开心</p>
<span id="test-members" itemprop="members" itemscope>flower 的成员是
  <span itemprop="name">小乐</span>,
  <span itemprop="name">田甜</span>和
  <span itemprop="name">华立</span>
</span>
{
  "items": [
    {
      "properties": {
        "name": [
          "flower"
        ],
        "members": [
          {
            "properties": {
              "name": [
                "小乐",
                "田甜",
                "华立"
              ]
            }
          }
        ]
      }
    }
  ]
}

上面的定义通过引用ID test-members包含了members项的三个成员名称属性,每个都是不一样的值。

四、总结

微数据是为了方便机器识别而产生的东西,有特定的规范和特定的格式,可以丰富搜索引擎的网页摘要。

写在最后

词汇表介绍

  1. schema.org词汇表
  2. Google丰富摘要词汇表
  3. WHATWG/microformats.org词汇表
点赞
收藏
评论区
推荐文章
Python进阶者 Python进阶者
3年前
一篇文章教会你使用Python定时抓取微博评论
【Part1——理论篇】大家好,我是皮皮。试想一个问题,如果我们要抓取某个微博大V微博的评论数据,应该怎么实现呢?最简单的做法就是找到微博评论数据接口,然后通过改变参数来获取最新数据并保存。首先从微博api寻找抓取评论的接口,如下图所示。但是很不幸,该接口频率受限,抓不了几次就被禁了,还没有开始起飞,就凉凉了。接下来小编又选择微博的移动端网站,先登录,然后找
Wesley13 Wesley13
3年前
SQL语句中发送微信消息
利用EasySQLMAIL的外部接口表功能来发送。可以支持Oracle、SQLServer、MySQL、PostgreSQL、Informix数据库。步骤如下:(1)在数据源的“外部接口功能”中启用“允许从该数据源上的接口表中发送企业微信或钉钉消息”选项,并选择可以用来发消息的企业微信应用(注意记录下应用ID,后面的S
Wesley13 Wesley13
3年前
SASS基础
特点:1.在css基础上增加特性:变量、嵌套(nesting)、混合(@mixin)、继承(@extend);2.通过函数进行颜色值与属性值的运算;3.提供控制指令等高级功能;4.自定义输出指令;数据类型:Sass和JavaScript语言类似,也具有自己的数据类型,在Sass中包含以下几种数据类型:1\
Jacquelyn38 Jacquelyn38
4年前
手写一个仿微信登录的nodejs程序
前言首先,我们看一下微信开放文档中的一张图:上面的一幅图中清楚地介绍了微信登录整个过程,下面对图上所示进行总结:一、二维码的获得1.用户打开登录网页后,登录网页后台根据微信OAuth2.0协议向微信开发平台请求授权登录,并传递事先在微信开发平台中审核通过的AppID和AppSecrect等参数;2.微信开发平台对AppID等参数进行验证,并向
CuterCorley CuterCorley
4年前
uni-app入门教程(9)字体库、自定义组件、打包和新闻实战
前言本文主要介绍了4方面内容:在uniapp项目中使用iconfont提供的图标字体库,美化页面;实现自定义组件,并且可以自定义属性和实现父子组件之间的消息传递;微信小程序预览和真机测试,APP端云打包和本地打包;新闻列表和详情实战练习。一、使用iconfont字体库uniapp中可以使用iconfont()提供的图标字体。大致过程如下:
Wesley13 Wesley13
3年前
MySQL Json函数(5.7以上)
oraclemysql5.7.8之后增加了对json数据格式的函数处理,可更加灵活的在数据库中操作json数据,如可变属性、自定义表单等等都使用使用该方式解决。在创建表时,可以使用“GENERATEDALWAYSAS”与json中的某个字段关联,并创建虚拟字段使json字符串也可以添加索引。创建测试json表
Easter79 Easter79
3年前
Taro小程序自定义顶部导航栏
微信自带的顶部导航栏是无法支持自定义icon和增加元素的,在开发小程序的时候自带的根本满足不了需求,分享一个封装好的组件,支持自定义icon、扩展dom,适配安卓、ios、h5,全面屏。我用的是京东的Taro多端编译框架写的小程序,原生的也可以适用,用到的微信/taro的api做调整就行,实现效果如下。!在这里插入图片描述(https://i
Stella981 Stella981
3年前
Chrome扩展推荐:微信变弹幕,追剧也不错过新消息
!(https://oscimg.oschina.net/oscnet/0d0a4825f8c04848a39a1b965e4a19f2.png)微信弹幕虽然微信网页版可以让用户在使用电脑上网时减少查看手机的频率,但不管是微信网页版还是PC客户端,都有它的不便之处。缺少了手机顶部通知栏类似的功能,我们在用电脑登陆微
Stella981 Stella981
3年前
Nebula Graph 在微众银行的实践
本文为微众银行大数据平台工程师——周可在nMeetup深圳场的演讲文字稿,演讲视频参见:B站(戳「阅读原文」观看)!(https://oscimg.oschina.net/oscnet/884d81502c744b76be00eb2a1b07d3c7.png)自我介绍下,我是微众银行大数据平台的工程
Wesley13 Wesley13
3年前
5G消息与微信小程序互联互通?北京国都互联这么做……
最近微信小程序上线了一个超级流量的新入口URLScheme,据微信官网介绍,scheme码适用于短信、邮件、外部网页等拉起小程序的业务场景。通过小程序页面的URLScheme,可以在短信、邮件或微信外部的网页中打开微信小程序。意义在于将微信流量生态延伸到微信以外渠道,进一步完善了小程序和外部渠道互通的营销场景。北京国都互联第一时
Wesley13 Wesley13
3年前
JSON学习笔记(二、语法)
JSON和js关系欲学JSON先学js,那么JSON和js的关系是什么样的呢?.JSON使用JavaScript语法来描述数据对象,但是JSON仍然独立于语言和平台。.JSON语法是JavaScript语法的子集基本语法.数据在名称/值对中.数据由逗号分隔.大括号保存对象.中括号保