有什么方法可以从xiph.org获取所有 URL ?有没有办法直接查询站点以从 Web 应用程序中获取指定的收音机或指定类别的收音机?
问问题
942 次
2 回答
0
Xiph.org 现在正在开发JSON API (#tkt1958)。由于 mysqlsCONCAT(json_object(m.stream_name...
查询,编码仍然被严重破坏。
但即使使用正则表达式 JSON 提取,它也比处理旧的yp.xml
.
于 2014-05-04T19:44:46.487 回答
0
好的,我已经查看了该站点上的一些流。
如果您XSPF
在文本编辑器中打开文件,您会得到一些 XML,其中包含在<location>
选项卡中的流。
您将不得不为此设置某种爬虫。我给你做一个简单的。
//define the link
$link = 'http://dir.xiph.org/';
//get the contents
$contents = file_get_contents($link);
preg_match_all('|"/listen/(.*)/listen.m3u"|',$contents,$match);
//define xspf link array
$xspfLinks = array();
//define default link
$xspfLink = 'http://dir.xiph.org/listen/';
//define final stream array
$finalStream=array();
foreach ($match[1] as $id )
{
//assign ID to default link and throw it in the array
$xspfLinks[]=$xspfLink.$id.'/listen.xspf';
}
// now loop through that array
foreach ($xspfLinks as $hehehe )
{
//download xspf file
$xspf = file_get_contents($hehehe);
if(preg_match('|<location>(.*)</location>|',$xspf,$heheMatch))
{
//put stream url in final array
$finalStream[]=$heheMatch[1];
//test it
echo 'HEHEHEHE I just stole:'.$heheMatch[1]."<br>";
}
}
//now do as you please with $finalStream (it will contain all your stream urls)
我刚刚为你做了这一切-_-。但是,是的,这应该有效。
哦,还有一件事,如果你在不应该的时候愚蠢地窃取了那些流,我将不承担任何责任。
于 2012-08-07T07:59:05.387 回答