2007年2月8日星期四

使用Yahoo Search Web Service.

这几天用Yahoo的Search Web Service去搜索评论信息,非常易用。现将使用方法稍作总结:


Yahoo Search Web Service 的主页是:http://developer.yahoo.com/search/


要使用YSWS, 需要首先在这里申请Application ID。
你可以下载Yahoo Search Web Service 的SDK , 也可以参考各Service的说明文档自己编写代码调用Web Service.


目前为止, Yahoo提供了以下服务的Web Service
各种服务的使用方法大同小异, 我主要使用了Web Search Service, 所以重点介绍Web Search Service 的使用方法:

Web Search Service 的页面是:http://developer.yahoo.com/search/web/, 包括四个服务:


每个IP每天可使用每种服务5000次, 如果你的IP变动, 则可查询更多, 如果需要超过这个限制, 参考Usage Policy.
Web Search可以算是最常用的一个服务了, 通过它我们可以搜索含有某个关键词的网页. 使用的方式很简单, 就是根据关键词拼一个url, 然后用这个url去获取结果, 最后从结果中提取你感兴趣的信息如链接等.


请求的base url是 http://search.yahooapis.com/WebSearchService/V1/webSearch


请求参数是主要有: appid, query , start, results等, query是要搜索的关键字, start是从搜索结果的第几个开始, results是需要返回的结果条数. 如何拼接请求参数, 请参考http://developer.yahoo.com/search/rest.html, 这是一个请求的例子: http://search.yahooapis.com/WebSearchService/V1/webSearch?
appid=YahooDemo&query=madonna&results=2



返回结果是一个XML文件, 也可以指定返回结果为JSON和PHP串行化格式, 这是返回文件的Schema, 从这个返回的例子我们可以一目了然的看出返回的格式:



<ResultSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:yahoo:srch" xsi:schemaLocation="urn:yahoo:srch http://search.yahooapis.com/SiteExplorerService/V1/PageDataResponse.xsd" totalResultsAvailable="617888" firstResultPosition="1" totalResultsReturned="2">
<Result>
<Title>Common Dreams | News & Views</Title>
<Url>http://www.commondreams.org/</Url>
<ClickUrl>http://rds.yahoo.com/SIG=11m331clj/EXP=1128100988/**http%3A%2F%2Fwww.commondreams.org%2F</ClickUrl>
</Result>
<Result>
<Title>JunkScience.com -- Main Page</Title>
<Url>http://www.junkscience.com/</Url>
<ClickUrl>http://rds.yahoo.com/SIG=11l98be9a/EXP=1128100988/**http%3A%2F%2Fwww.junkscience.com%2F</ClickUrl>
</Result>
</ResultSet>


如果出错, 你将会收到Error信息,


Yahoo Web Search Service 为开发者提供了各种语言的SDK.使用非常方便. 这里就不再赘述了.