美国主机33/年 广告招租 广告招租
↑优惠码qihaa25↑ 广告招租 广告招租
当前位置: 首页 代理教程 正文

最简单的代理入门④:网页中包含直播源地址

奇哈 |
1686

前面3篇文章主要是给完全不懂的一些同学了解一下PHP的基本语法,前面的代码可能不够精炼,能力有限,大家可以自己看些php的教材,以便写出更符合标准的代码来。没看过前面文章的可以随意回看下:

今天给大家讲解一下最简单的网页代理的写法。

如果是固定源的话,抓取一下就可以了,但是有时候我们抓取的源码是动态的,动态的一般都有后缀的,比如我们打开扬州电视台的播放页面:

http://www.yzntv.com/maintab/livel?cid=235

我们抓取到的地址如下:

http://yztv-wshls.homecdn.com/8bb.m3u8?t=1597628635&k=7185698177b564fb2da2ae9a62409e2b

很显然,问号后面的字符串是一直在变化的,如果使用这个地址的话,一会就无法播放了,那么我们就需要实时获取它的直播源地址。

针对此类播放页面,一般第一步就是查看源文件,可以在页面点击右键,点击查看网页源代码,或者使用快捷键 ctrl+U。

打开源文件后,我们可以手动翻看文件内容,也可以搜索flv或者m3u8等文字,用来找到播放地址,比如在今天的这个例子中,我们可以看到以下内容就是我们要找的。

上面做记号的地方,从第一个后面开始截取,获取划横线的直播源,到第三处逗号为止,这就是我们需要通过PHP来截取的内容。

具体代码如下

第一行,语法固定格式,必有

第二行,备注,可以没有,备注用双斜杠,相当于注释,不体现在源码中

第三行,变量设置,一般大家喜欢用id,你也可以用tv什么的,随意。这个id主要参考你播放页面的地址变量,比如扬州电视台几个播放页面分别是

http://www.yzntv.com/maintab/livel?cid=235
http://www.yzntv.com/maintab/livel?cid=236
http://www.yzntv.com/maintab/livel?cid=290

很显然,变量就是后面那3个数字,有的时候变量也可能是英文等字符串,性质是一样的。

第四行,就是你要获取的网页地址,就是具体的网页直播地址,这里面牵涉到一个变量问题,就是最后的$id,如果你第三行变量名不是id,你要换成你自己需要的

第五行,就是获取直播源地址,beginplayurl=”是我们要调整的地方,这个代码的意思就是从这段字符后面开始获取,参考上面的截图,我们获取的就是http://。。。这段内容,但是不能全部获取,所以在(.*?)后面有个小逗号,这个个小逗号的意思就是说,我们前面索要截取的内容,到第一个逗号就截止了。

第六行,意思就是输出我们的直播源地址了,这里的输出是弹出的输出,就是可以直接打开的播放页面,如果只是想输出到页面上显示的话,可以用echo输出,一般echo输出的话,可以放在网页播放中使用,防止别人直接获取代理源去软件中播放。

第七行,固定格式,必有。

<?php
//id=235,236,290,291,292 
$id=$_GET["id"];
$info=file_get_contents("http://www.yzntv.com/maintab/livel?cid=$id"); 
preg_match('/beginplayurl="(.*?),/i',$info,$sn);
header('Location:'.$sn[1]);
?>

综上所述,最简单的代理,排除第二行,共计只需要6行即可,其中你需要修改地方只有2个,一个是第四行的播放页面。一个是第5行的前后截取。其他的无需变动。

今天就讲到这里,留一个练习作业,如果你能成功完成了,请点击下面的小红心,完成了再点啊。

今日作业:请写一个东莞电视台官方的直播源代理,东莞公共和东莞综合

播放地址自己找哦,百度一下就可以了,因为不可能每个电视台会有人把地址放在你面前的。

下次教程会发布今天的答案。

声明:原创文章请勿转载,如需转载请注明出处!

0 0 vote
请为本文打分
订阅
提醒
guest
1 评论
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback

[…] 本代码可以参考代理教程第4课,自行写一个看看,巩固下自己的接受进度,这次写可以不用看着教程全程自己写看看能不能写出来。 […]

1
0
Would love your thoughts, please comment.x
()
x