酒店直播源和组播源爬取原理

今天来分享一下用python获取酒店源和组播源的原理

一、python获取酒店源原理:

前面有介绍python自动化获取酒店源

经验:酒店直播源和直播APP抓包记录

经验∶适合纯小白记录的python自动化运行爬取酒店IPTV直播源

首先我们看一下python代码:

酒店直播源和组播源爬取原理

search_url = 'https://fofa.info/result?qbase64='

表示:搜索引擎为fofa.info

search_txt = f'"iptv/live/zh_cn.js" && country="CN" && region="{province}"'

表示:搜索指定省份的页面包含”iptv/live/zh_cn.js”的结果

酒店直播源和组播源爬取原理

测试获得的该ip地址的指定地址是否能访问,能访问就从1000.json获取节目列表,如获得一个IP:113.15.184.96:8181,会通过测试http://113.15.184.96:8181/iptv/live/1000.json?key=txiptv是否能访问,能访问就从该文件提取节目表并保存。

如我们用浏览器打开http://113.15.184.96:8181/iptv/live/1000.json?key=txiptv,可以看到该json文件保存有节目相关信息:

酒店直播源和组播源爬取原理

 

最后用python提取我们需要的内容保存为我们的播放列表。

二、python获取组播源的原理

组播节目的播放地址一般格式为:http://IP:Port/udp/Multicast,其中为IP:Port外网的IP,Multicast为组播地址,每个地区的运营商的组播地址是一样的,因此我们要扫描组播节目需要知道IP地址和端口,还要知道组播地址,看一下组播源获取的代码:

酒店直播源和组播源爬取原理

subnet_start = "112.19.171.1"subnet_end = "112.19.171.254"

这里定义了需要扫描的IP起止

ports = [6600, 5050, 5005, 8086, 8088, 8888, 9080, 8000, 9026, 3952, 9000, 9999, 5555]

ports表示需要扫描的端口,因此我们自己在做组播转单播的时候端口尽量不要设置默认的、常规的、简单的如8888之类的,这样容易被程序所扫描到。

url = f"http://{ip}:{port}/udp/230.1.2.226:11111/qist.m3u8"

表示通过访问每个ip:port/该地区其中一个组播节目来判断ip:port是否有组播数据,如访问成功就将该IP:port保存至文件。

后续需要将该地区的组播节目改写为组播转单播的形式,即IP:port/udp/组播地址

说明:组播扫描相对比较麻烦,需要自己修改扫描的IP范围和该IP范围对应的组播节目,否则无法完成扫描。如感兴趣可以下载该代码去研究研究,注:该代码来源于网络,仅供测试使用。

三、写在后面

以上为本人个人理解,仅供参考。如需组播扫描代码请后台回复【240419】获取下载连接进行下载,

使用说明:该代码默认扫描四川移动的组播,如有需要可修改subnet_start、subnet_end、ports改为自己需要扫描的ip段和端口号,239.93.0.118修改为该地区的组播地址,当然IP、端口越多,扫描时间也越长,如从XXX.XXX.1.1-XXX.XXX.254.254,端口有5个,需要扫描数据即为254*254*5=322580次,基本上需要扫一两小时。

欢迎关注本公众号,后台发消息给我,我会即时进行回复的哦。

酒店直播源和组播源爬取原理

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部