文章来源:http://stblog.baidu-tech.com/?p=362
目前,开放成为互联网一大主题,只有开放资源才能求得各方共赢。百度公司在2010年百度世界大会上正式推出了代表开放的两大平台,分别是搜索数据开放平台和应用开放平台,百度公司所倡导的框计算就此体现出了真正的实际应用价值。作为其中数据开放平台,开放了多个类目的数据引入渠道,为众多优质网站提供了更加便捷的数据接入和展示渠道,获得到了众多大小网站的欢迎和支持,同时也让广大网民能够获取到更加精准和优质的信息。
就搜索引擎来说,多个搜索引擎公司的数据互相引入也有了先例,典型的如早期的腾讯搜搜,通过直接调用google的服务,使用其数据展示在自己的搜索结果当中。但是如此规模的通过平台引入广大站长的数据,还是首次出现,颇显了百度搜索的开放程度之高,其将数据的共享合作从各搜索厂商之间的横向数据合作,扩展到了搜索厂商和站长之间的纵向数据合作。目前百度数据开放平台开放了商品,招聘,客服,下载等典型的互联网数据的提交入口,也提供了按不同展现模板来提交数据的方式,其引入数据已经渗透到很多信息领域。
一个搜索引擎要工作,其数据的引入是一个至关重要的环节,数据引入的数量,质量,及时度等都很大程度上影响着该搜索引擎的用户体验。目前搜索引擎的数据绝大多数都是通过抓取网页来获取网页信息,其网络爬虫按照一定策略逐个抓取网页的信息,利用网页间的链接,企图遍历所有网页,获取到互联网上的所有的信息。这样的方式足矣获取到足够多的信息,但是其不能够抓取到一些孤岛信息,数据获取的时效性方面也无法做到好的保证,而且识别信息的质量也存在很大的误差。搜索数据开放平台的出现打破了这种格局,通过数据平台的开放,搜索引擎就可以引入一些普通网络爬虫所抓取不到的信息,对于一些很时效性的数据也可以做到更加及时的引入和更新,而且一些优质的数据也可以直接被搜索引擎所认可,直接展示给网民。那么百度搜索开放平台是通过什么方式来实现数据的引入的呢?
目前,百度数据开放平台主要提供了三种数据引入方式。
(一)资源提供方直接建立数据合作关系,通过服务的合作直接引入第三方数据。
这种引入方式的基本前提是,资源提供方提供的数据具有代表性,权威性,完整性和可靠性,要求数据提供者必须是某类信息方面的权威提供者,其提供的数据必须是一手的数据信息,真实可靠,能保证数据的准确性和时效性,能够持续的保持信任合作。这样的优质数据提供方直接和数据开放平台达成引入合作,双方技术人员通过协商,定义好相互的数据提供格式和提供时间,数据提供方提供数据获取的方式,数据开放平台技术人员按照提供方式去按照约定好的时机去获取数据,然后经过处理生成数据开放平台支持的数据格式,提供给后续数据处理流程。该类引入方式典型的如,天气预报的数据资源,数据开放平台和天气网站的双方技术人员通过沟通确认,确认数据提供的详细细节,天气网站按照约定的方式,格式和时间生成数据给百度搜索开放平台,搜索开放平台按照约定的时间去获取和更新数据。这样的合作方式可以保证引入最为优质的数据资源,同时保证了引入数据的时效性。天气资源的样例结果如下图:
图一.天气资源展示样例图
(二)以xml文件的方式引入。
目前百度搜索开放平台开放了商品,招聘,客服,下载等类目的数据提交入口,同时也提供了按照展现格式提交数据的入口,这些入口的数据提交均以XML文件的方式来引入数据。百度数据开放平台针对不同类型的数据分别设计了对应的XML文件格式,作为标准设计者,约定了其文件的具体格式和内容的要求,站长只要按照约定的格式编辑或者生成xml文件,将其部署在自己的网站下,并且在数据开放平台中填写该资源的XML文件地址,以及更新周期等信息做为一个资源提交,一旦该资源被平台审核通过,数据平台后台就会按照约定的周期去定期抓取数据,更新数据。在百度搜索开放平台中,该类数据引入占据了很大一部分,这种方式适合中等规模的数据的提供方提供。典型的如好大夫网提供的医院科室数据,中华英才网提供的招聘数据。平台中一个快递的样例格式如下图:
作为一个数据开放平台,我们不仅期望能够获取到足够大量的信息,同时也期望只要站长想让一个特定样子的结果展现在搜索结果中,就可以方便的编辑一个展现得数据结果,然后提交生效。在百度数据开放平台中实现了这种数据引入功能,站长在平台选择数据展现模板,在模板的各个空坑中按要求填写自己的数据信息,填写的时候也就看到了展现的效果,最后将编辑的结果提交,审核生效后,在搜索结果中就可以展现相应的数据以及样式。这种方式特别适合一些小数据量的数据来提交,典型的如客服电话资源的提交,软件下载资源的提交。平台中客服资源的所见即所得编辑效果图如下:
图三.客服资源的所见即所得编辑界面
目前,百度搜索开放平台已经步入正轨,上述三种数据的引入方式已经足够支持绝大多数数据的引入,数据提供者可以根据自己数据的特点选择合适的方式提交数据到百度搜索,但是为了方便数据提供者,后续会继续拓展其他类型的资源引入方式,如直接编辑html提交,直接访问资源提供方数据库,通过socket数据服务接口来提供数据。同时,资源的更新方式也会更加的多元化开,或许可以容许站长来主动触发资源的更新处理。