使用PHP提取视频网站页面中的FLASH地址的代码
更新时间:2010年04月17日 15:38:42 作者:
这几天工作中需要写个程序对于一个视频网站地址,如优酷的某个地址,提取出其中的FLASH地址来。
然后我用PHP实现了这个功能,我觉得用PHP来做这项工作简直是一种享受!使用其提供的强大的HTML页面处理函数和正则表达式,短短的几行代码就能搞定这个功能。
贴一下关键代码:
<?php
//获取优酷页面中的flash地址
function get_flash_url( $url )
{
$lines = file($url);
foreach ($lines as $linenum=> $line) {
preg_match_all('|<input type="text" id="link2" value="([^<>]+)" />|',$line,$result);
$swfurl=$result[1][0];
if(!empty($swfurl))
return $swfurl;
}
}
?>
<?php
$url=$_SERVER["QUERY_STRING"];
$flashurl= get_flash_url($url);
echo ( $flashurl );
?>
比如这个文件我们存为 test.php,那么我们只需要运行 test.php?优酷视频的url 就可以解析出FLASH地址了。
思路很简单,就是先看看优酷视频网页的HTML代码里关键FLASH地址那段的特征。随便找个网页,比如我们可以看到这一段:
<div class="item"><span class="label">flash地址: </span> <input type="text" id="link2" value="http://player.youku.com/player.php/sid/XMTU1MzcxMzAw/v.swf" />
然后使用正则表达式来将其中的地址段匹配掉,就OK了。
贴一下关键代码:
复制代码 代码如下:
<?php
//获取优酷页面中的flash地址
function get_flash_url( $url )
{
$lines = file($url);
foreach ($lines as $linenum=> $line) {
preg_match_all('|<input type="text" id="link2" value="([^<>]+)" />|',$line,$result);
$swfurl=$result[1][0];
if(!empty($swfurl))
return $swfurl;
}
}
?>
<?php
$url=$_SERVER["QUERY_STRING"];
$flashurl= get_flash_url($url);
echo ( $flashurl );
?>
比如这个文件我们存为 test.php,那么我们只需要运行 test.php?优酷视频的url 就可以解析出FLASH地址了。
思路很简单,就是先看看优酷视频网页的HTML代码里关键FLASH地址那段的特征。随便找个网页,比如我们可以看到这一段:
<div class="item"><span class="label">flash地址: </span> <input type="text" id="link2" value="http://player.youku.com/player.php/sid/XMTU1MzcxMzAw/v.swf" />
然后使用正则表达式来将其中的地址段匹配掉,就OK了。
相关文章
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
今天调试WordPress的邮件发送功能,总是提示:SMTP server response: 501 5.5.4 Invalid Address。用telnet测试SMTP是没有任何问题的2009-05-05
最新评论