统一优雅的接口
闲逛发现了YQL,它是雅虎的web service,允许你使用像SQL一样请求互联网数据:
select * from table where xxx = yyy
它把互联网服务、公共数据、网页都看作一个一个的table,你可以从里面读出数据。
有些资源(服务)还可以update delete insert
YQL支持哪些table呢,进入这里 http://developer.yahoo.com/yql/console/
敲入show tables,点击【测试】,下面便会出现一堆table,
很多我目前都用不上,如果能指定返回数据的语言,就更实用了。
抓取网页数据
我们先拿html来玩玩吧,query的格式如下:
select * from html where url="www.site.com/page.html" and xpath="..."
忘了说YQL的接口地址,下面是PHP代码
$url = 'http://www.site.com';
$xpath = '//*[@id="xx"]';
$query = "select * from html where url = '{$url}' and xpath='{$xpath}'";
$url = "http://query.yahooapis.com/v1/public/yql?q=".urlencode($query);
$session = curl_init($url);
curl_setopt($session, CURLOPT_RETURNTRANSFER, 1);
$res

雅虎YQL提供了一种类似SQL的接口,用于请求互联网数据和抓取网页内容。用户可以通过指定URL和XPath来获取所需信息。虽然存在速度慢和请求限制的问题,但其简化并统一的接口设计仍值得称赞。YQL支持JSONP,方便跨域请求,但需要注意网站的robots.txt限制和请求频率限制。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



