这几天一直在根据粉丝分享的一个酒店源文章来更新获取程序代码,终于完成了(部分代码来源于网络),在此感谢粉丝朋友提出的宝贵意见。
一、获取目标
前面推文写到如何手动获取酒店节目源,我们知道的有两个酒店节目源的关键字特征:
1、智慧光迅:搜索关键字:ZHGXTV
2、智能桌面:搜索关键字:/iptv/live/zh_cn.js
如何手动获取相关节目列表详见前面推文:
二、自动获取目标IP途径
本次更新三个自动获取目标IP途径:
1、360网络测绘空间(quake),相关代码详见之前文章:
如何使用python从360网络空间测绘(quake)和钟馗之眼(zoomeye)获取需要的数据
注意:自动获取是调用api进行请求数据,会扣相应的免费次数和月度积分,另外,如果获取得到的结果是星号则是因为没有实名认证,实名认证后就是完整的IP结果了。

2、fofa网络测绘空间,相关代码详见之前文章:
经验∶适合纯小白记录的python自动化运行爬取酒店IPTV直播源
但是之前代码在当日访问次数达到限制或者查询结果为0的情况下会一直循环跑代码:
查其原因有主要两个:
1)访问次数达到每天限制(如下)返回空值,解决办法:更换IP或者第二天再试。
2)查询结果为空(如下),解决办法:更改关键字再次查询。
基于以上,对原代码进行了修改,即增加了一个空值计数器none_cnt
,当空值计数达到3次即提示:搜索结果为空或请求次数过多,请检查参数是否正确并停止循环:
分享一个获取某直播搜索引擎IP的代码片段,更新一下打包的可执行exe文件
需要注意的是该网站经常会改变网页结构来反爬,如果结构改变,我们的代码也需要跟着调整,因此该途径并非一直有效。
三、程序运行流程:
1、所有程序的相关配置均在config.txt;
2、通过config.txt配置是否自动从网上抓取目标IP,将抓取的目标IP追加保存到ip.txt;
3、也可以将自己手动搜索到的ip按ip:port的格式保存到ip.txt,测试是否有效。
4、运行流程:
1)判断是否设置自动网上抓取目标IP,是就自动从网上抓取目标IP,将抓取的目标IP追加保存到ip.txt,否则直接读取ip.txt文件内容进行测试。
2)测试IP同一网段所有IP的端口是否开放:根据ip.txt内的ip进行处理,测试每个ip对应的 x.x.x.{i}:port,其中i为1到255,即测试同一IP段的对应端口是否开放。
3)通过请求开放端口的ip网页:http://{ip}:{port},检查ZHGXTV 或 /iptv/live/zh_cn.js是否在获取响应的文本内容中,在的话就判断为有效IP。
4)将有效IP存回到ip.txt
5)根据不同系统在http://{ip}:{port}/iptv/live/1000.json或http://{ip}:{port}/ZHGXTV/Public/json/live_interface.txt获取节目列表并保存到节目表中。
四、使用说明
1、首先配置相关参数:config.txt。
1)password:为程序运行密码,会不定期进行更新,如运行程序提示密码错误,则需到公众号发送【运行密码】获取最新密码即可。
2)360网络测绘quake运行参数:
quake_run:y为运行quake,如其他值则不运行;
size:一次查询获取多少条数据,如10即返回10条数据;
quake_api:输入quake的api key,需登录360 quake个人中心复制。
quake_keywords:查询关键字,多个关键字查询用英文逗号隔开。
quake酒店源查询语法:iptv/live/zh_cn.js AND country: “China” AND province: “hunan” AND port: “9901”
ZHGXTV AND country: “China” AND province: “hunan” AND port: “9901”
注:其中province 可输入中文,端口即port可选
3)fofa网络测绘空间运行参数:
fofa_run :y,运行fofa,如其他值则不运行;
fofa_keywords:查询关键字,多个关键字查询用英文逗号隔开。
fofa酒店源查询语法:
“iptv/live/zh_cn.js” && country=”CN” && region=”广东” && port=”9901″
“ZHGXTV” && country=”CN” && region=”广西” && port=”9901″
同样region和port为可选项
4)tonkiang运行参数:
tonk_run:y,运行tonk查询首页酒店源IP,其他值不运行;
tonk_num:请求首页次数(每次请求首页的IP不同)。
5)有效IP保存模式:
save_ip:y 保存为全部有效IP,其他值保存为x.x.x.1:port
如选择y,即保存为有效的真实IP,可分享IP给他人:
如选择其他,即保存格式为x.x.x.1:port的格式:
五、相关下载:
由于本人非专业代码程序员,写的代码东拼西凑,对于专业人员来说不需要,对于不会的人来说就看不懂,所以就不再放源码出来了,只提供exe文件。
相关文件仅供个人测试使用。
扫码公众号,回复本文发布日期:【240514】即可获取下载链接。有任何建议欢迎留言或后台私信。
欢迎关注本公众号,后台发消息给我,我会即时进行回复的哦。
声明:除原创内容及特别说明之外,推送稿件文字及图片均来自网络及各大主流媒体。版权归原作者所有。如认为内容侵权,请联系我们删除。