直播源PHP代理基础教程-简单实例

这里所谓的代理 就是通过php小程序来帮你抓取动态的播放地址
我们一成都电视台的为例讲解一下
成都电视台的网址是http://www.cditv.cn/show-192-1-1.html 右键查看源码
我们可以看到下面这么一段代码

<video poster="view.png" src="http://cdn1.cditv.cn/cdtv1/CDTV1.flv/playlist.m3u8?wsSecret=14578a9ccaf95abb5dca29394ec13f50&wsTime=5210929c" height="480" width="640" tabindex="0" loop='loop' controls='controls' autoplay="autoplay" preload="none" >

这就是播放地址 当然这个播放地址是动态的 那么怎么通过php来实时的抓取他呢
我先贴出代码 然后在一句句解释

<?php
$id=$_SERVER["QUERY_STRING"];
$url="http://www.cditv.cn/show-192-".$id."-1.html";
$info=file_get_contents($url);
preg_match('/poster="view.png" src="(.*?)"/i',$info,$m);
header('location:'.urldecode($m[1]));
?>

第一句就是定义id 无需多做解释
第二句就是需要采集播放地址的网址 因为成都几个台的播放网址是

http://www.cditv.cn/show-192-1-1.html
http://www.cditv.cn/show-192-2-1.html
http://www.cditv.cn/show-192-3-1.html

所以我们用到了id 倒是后分别id分别为1,2,3就是我们采集这三个不同页面的播放地址
第三句就是取内容 也无需解释 应用到其他地方不需要修改
第四句就是关键了 其实也很简单
preg_match('/poster="view.png" src="(.*?)"/i',$info,$m);
大家注意标红色的部分 左边的就是我们需要采集内容的左边部分 右边的就是右边部分
需要注意的是 我们选取的左边部分需要在所采集的网页中是唯一适配的或者是第一个适配的 不然去不到内容
第五句就是输出 也不需要解释

使用方法:复制上面那段代码 保存为cdhls.php,上传到服务器中 如果上传到根目录的话那么播放地址就是http://你的域名/cdhls.php?1和http://你的域名/cdhls.php?2等等

说明

这个是原某网站的文章(原网站已经GG),由于年代久远成都电视台的播放地址现在已经不能直接从网页源代码里直接看到和获取,需要多了些步骤,这个以后说,重要要的是这个教程的思想和实现代理的方式很有参考意义..

点赞
  1. 小白说道:

    黑鸟导师我把这段代码做成PHP文件上传空间这代理用不了,写出的代理不能用

    1. 黑鸟君说道:

      @小白 文章中已经有说明,当前的该网页有变化,代码不能直接复制粘贴,需要做一点点变化..

  2. 祝乐高官网说道:

    :razz: 不错 学习了

  3. zoky说道:

    假如xxx.php?id=* 代理后可以正常播放,怎么可以变成xxx.m3u8?id=* 这种地址格式播放 :cry: 谢谢

  4. 夏日博客说道:

    是类似于VIP解析之类的麽。

  5. 直播说道:

    〈video _src='http://playm3u8点zhangyu点tv/live/zy_1510044056862点m3u8?auth_key=1540120995-59397830-0-9e44cf996135e59766a7ac31c3fd5b8c' id="zyvideo" width="100%" controls=""〉〈/video〉

    1. 直播说道:

      @直播 这种代码就不会写了

      1. 黑鸟君说道:

        @直播 章鱼TV的源,这个播放地址是本地浏览器再处理后再填上去的,直接使用文中的PHP函数并不能取到auth_key的值,即使用正则取这一段值对了也就这样_src=''是空的,所以你一直以为是正则取值没取正确..

        1. 直播说道:

          @黑鸟君 就是说这种源是没办法代理的么?还有我试了央视网的源码,他那页面是shtml好像也不能正确代理。希望博主抽空能写这种类型源的代理方法

          1. 黑鸟君说道:

            @直播 不是没法代理,只是你要去研究明白auth_key的值是怎么来的..

  6. 直播说道:

    这段代码如何代理呢?_src前边没有信息,它后边倒是有id="zyvideo",PHP但是第四段代码这样写preg_match('/_src="(.*?)" id="zyvideo"/i',$info,$m);

    1. 直播说道:

      @直播
      代码老是被吃点

  7. 洁灰博客园说道:

    :razz: 网站不错,给你带来10086个赞~

  8. 夏天烤洋芋说道:

    :cool: 挺不错的!

  9. 说道:

    感谢大神分享,希望能出多一点关于php代理的教程。

  10. 子午书屋说道:

    用php对html代码分析?

    1. 黑鸟君说道:

      @子午书屋 恩,提取了网页中一段有用的信息..

      1. wanggggg1说道:

        @黑鸟君 请问盐城电视台,直播网址怎么做代理呢?网址:http://www.0515yc.cn/tvlook/folder76/

      2. 小白说道:

        @黑鸟君 为什么出现500内部服务器错误

  11. fy789说道:

    现在的地址都隐藏的很深

发表评论

电子邮件地址不会被公开。 必填项已用*标注