微格式
微格式其实并不是浏览器或者HTML的某种标准,而是很多人进行起草创建的。它帮助我们更有效的管理前端代码,不仅让人能够读取其中的信息,也能让机器理解(典型的比如爬虫)。
微格式目前的应用并不广泛,大多数的网站都是采用自己定义的格式来书写。
因此就会出现这样的情况,同样时招聘网站,A站采用一种风格,B站采用另一种风格。这样如果某个爬虫需要爬去招聘中个人信息,就不得不写出两套方案。微格式则使用某种规定的格式,比如在class中以特定的类名标识,从而区分不同的关键字段。
目前已经制定了多种微格式草案,比如hcard、hcalender等等。本篇就先介绍下hcard:
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