有没有办法从xiph.org获取所有网址?有没有办法直接查询网站以从Web应用程序获取指定的无线电或指定类别的无线电?
答案 0 :(得分: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)
我刚刚为你做了一切-_-。但是,那应该有用。
哦,还有一件事,如果你是愚蠢的,并且当你不应该躲过那些溪流时,我将不会被追究责任。
答案 1 :(得分:0)
Xiph.org现在正在研究JSON API (#tkt1958)。由于mysqls CONCAT(json_object(m.stream_name...
查询,编码仍然大大破坏。
但即使使用正则表达式JSON提取,它也比处理旧yp.xml
更快,更容易使用。