微格式其实并不是浏览器或者HTML的某种标准,而是很多人进行起草创建的。它帮助我们更有效的管理前端代码,不仅让人能够读取其中的信息,也能让机器理解(典型的比如爬虫)。
微格式目前的应用并不广泛,大多数的网站都是采用自己定义的格式来书写。
因此就会出现这样的情况,同样时招聘网站,A站采用一种风格,B站采用另一种风格。这样如果某个爬虫需要爬去招聘中个人信息,就不得不写出两套方案。微格式则使用某种规定的格式,比如在class中以特定的类名标识,从而区分不同的关键字段。
目前已经制定了多种微格式草案,比如hcard、hcalender等等。本篇就先介绍下hcard:
hcard是电子名片的一种微格式草案,它与vcard相关联。在网页中,如果这样定义:
<div id="hcard-xing-ha-lo" class="vcard">
<a class="url fn n" href="http://www.cnblogs.com/xing901022/"> <span class="given-name">xing</span>
<span class="additional-name">ha</span>
<span class="family-name">lo</span>
</a>
<div class="org">neu</div>
<a class="email" href="mailto:123456789@123.com">123456789@123.com</a>
<div class="adr">
<div class="street-address">huangpu street</div>
<span class="locality">dalian</span>,<span class="region">liaoning</span>,<span class="postal-code">11111</span>
<span class="country-name">china</span>
</div>
<div class="tel">13455556666</div>
</div>
首先,最外层的div必须要有类名vcard,内部则满足一定的要求即可,任意标签只要class满足上面的定义就行。
例如上边的html片段,直接放在hcard的解析器里,就可以直接获得到关键的信息。
1 微格式:http://www.mijia.org/blog/?p=155
2 Vcard生成器:http://microformats.org/code/hcard/creator
3 Vcard解析器:http://hcard.geekhood.net/#result