所以我使用YQL来获取youtube用户的订阅者数量。
这样做我正在使用这样的URL进行查询:
$query = 'https://query.yahooapis.com/v1/public/yql?q='.urlencode("SELECT * FROM xml WHERE url='http://gdata.youtube.com/feeds/api/users/{$id}'").'&format=json&callback=';
然后我解码响应并找到我正在寻找的数组条目:
$response = json_decode($response, true);
$subscriber_count = $response['query']['results']['entry']['statistics']['subscriberCount'];
它工作正常,除了我不喜欢我这样做的方式:)
我的意思是,有没有办法可以直接从上面的subscriberCount
网址获取$query
值?我不需要整个XML,只需要一个条目。
答案 0 :(得分:1)
您可以做的是将YQL返回的数据量限制为您真正感兴趣的数据,如下所示:
SELECT statistics.subscriberCount FROM xml WHERE ...
你仍然会在你感兴趣的数字周围有一些结构XML / JSON元素,但至少它们更少(见下文)。不确定这是不是你想要的?
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng"
yahoo:count="1" yahoo:created="2011-01-06T23:21:32Z" yahoo:lang="en-US">
<results>
<entry xmlns="http://www.w3.org/2005/Atom">
<yt:statistics
xmlns:yt="http://gdata.youtube.com/schemas/2007" subscriberCount="7"/>
</entry>
</results>
</query>