一、更新内容
前面讲到用python自动获取网络上的组播节目:
用python获取组播IP,测试组播节目是否可以播放并保存可以使用的节目列表
更新代码:如何利用python爬取暴露在网络中的组播节目并自动测试保存
上次更新在rtp文件夹,用来存放各个区域运营商的组播地址列表,各个地区的组播地址列表文件名格式为:省份_运营商.txt,如 广东_电信.txt。运行udp_iptv2.0.py,程序会自动获取rtp文件夹下的文件名,并识别下划线_前后的内容,然后搜索相应地区运营商的ip,测试ip可用后分别保存至iptv_省份运营商.txt和iptv_省份运营商.m3u。但是存在问题就是如果需要增加区域需要在rtp文件夹下新增省份_运营商.txt,同时需要修改代码,
本次更新内容:
1、新增搜索区域组播节目免去修改代码,只需将找到的组播地址列表按标准格式存放到rtp文件夹,然后运行代码就可以了。
程序流程:程序会自动读取rtp文件夹下省份_运营商.txt的第一行的组播地址mcast,然后搜索对应省份、运营商得到IP,然后将IP和mcast进行合并,测试是否可用,可用就将IP替换组播地址列表相应内容,然后保存为省份运营商.txt 和 省份运营商.m3u的播放列表。
2、考虑生成文件为中文,如之前的 iptv_广东电信.txt,如通过网络直接访问文件名为iptv_%E5%9B%9B%E5%B7%9D%E7%94%B5%E4%BF%A1.txt,因此新增加translate库,将省份翻译为英文,同时电信改为简写ctcc、联通改为间隙cucc,即生成的播放列表自动生成为guangdongctcc.txt。
3、另外fofa可以修改为api查询,但是好像需要充值消耗F点,所以没做相关测试,目前公共查询已能满足基本要求。
二、使用方法
在win10 python 3.8.6 ,Debian 12,python 3.11.2正常运行。
1、安装translate 支持库:pip(3) install translate 建议切换国内源安装:
pip install translate -i https://pypi.tuna.tsinghua.edu.cn/simple
2、将需要查询的区域组播节目地址按省份_运营商.txt (运营商仅限电信或联通,移动未做设定)保存至rtp文件夹,目前已设置广东电信、湖南电信、重庆联通、四川电信组播地址(来源于网络,未做测试)。
txt文件内容格式如下:
PS:可以自行修改组播地址列表,例如节目排序,删除不需要的等等,最终生成的列表也是按组播地址来生成播放列表的。
3、直接运行udp_iptv3.0.py:python3 udp_iptv3.0.py ,会自动获取rtp文件夹下的地区组播节目列表搜索对应区域对应运营商的组播IP,并根据相应组播地址列表生成可播放的节目列表。
三、下载地址
1、文件内容:udp_iptv3.0.py(运行程序)rtp文件夹下:广东_电信.txt 湖南_电信.txt 重庆_联通.txt 四川_电信.txt(组播地址列表来源于网络,没有核实每条是否可用、节目名称和地址是否一致等,可自行核实进行修改)。
播放列表:chongqingcucc.m3u、chongqingcucc.txt、guangdongctcc.m3u、guangdongctcc.txt、hunanctcc.m3u、hunanctcc.txt、sichuanctcc.m3u、sichuanctcc.txt。关于播放列表为本人测试时生成,生成时是可以播放,时效性未知,仅供测试使用,每次运行会覆盖之前已有的播放列表。
2、下载地址:
扫码本公众号,回复本文发布日期:【240427】即可获取下载链接。有任何建议欢迎留言或后台私信。
欢迎关注本公众号,后台发消息给我,我会即时进行回复的哦。
声明:除原创内容及特别说明之外,推送稿件文字及图片均来自网络及各大主流媒体。版权归原作者所有。如认为内容侵权,请联系我们删除。