chore:iptv

This commit is contained in:
guorong.zheng 2024-11-25 18:10:34 +08:00
parent 9ed41daa10
commit 6245665986
15 changed files with 151 additions and 112 deletions

View file

@ -33,7 +33,7 @@ jobs:
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: GTV
name: IPTV
path: dist
- name: Get version from version.json
@ -76,6 +76,6 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: dist/GTV.exe
asset_name: GTV.exe
asset_path: dist/IPTV.exe
asset_name: IPTV.exe
asset_content_type: application/octet-stream

View file

@ -1,5 +1,30 @@
# 更新日志Changelog
## v1.5.4
### 2024/11/25
- ⚠️ Python 升级至 3.13,该版本已不支持 Win7若有需要请使用 v1.5.3
- ⚠️ Github 仓库改名IPTV使用旧接口地址请及时更换新地址
- ⚠️ Docker 镜像仓库改名guovern/iptv之前的 tv-driver 对应guovern/iptv:latesttv-requests 对应 guovern/iptv:lite
- ✨ 更换测速方法yt-dlp重构测速逻辑提升准确性、稳定性与效率减小接口切换延迟#563
- ✨ 新增支持 ARM v7#562
- ✨ 新增微信公众号关注途径公众号搜索Govin关注公众号可订阅更新通知与使用技巧等文章推送
- 🪄 优化 Docker 镜像大小
<details>
<summary>English</summary>
- ⚠️ Python has been upgraded to version 3.13, which no longer supports Win7. If needed, please use version v1.5.3.
- ⚠️ The GitHub repository has been renamed to IPTV. If you are using the old API address, please update it to the new one promptly.
- ⚠️ The Docker image repository has been renamed to guovern/iptv (the previous tv-driver corresponds to guovern/iptv:latest, and tv-requests corresponds to guovern/iptv:lite).
- ✨ Change the speed measurement method (yt-dlp), reconstruct the speed measurement logic, improve accuracy, stability, and efficiency, and reduce interface switching delay. (#563)
- ✨ Support for ARM v7 has been added. (#562)
- ✨ A new way to follow the WeChat official account (search for: Govin) has been added. Following the official account will allow you to subscribe to update notifications and receive articles with usage tips.
- 🪄 The size of the Docker image has been optimized.
</details>
## v1.5.3
### 2024/11/19
@ -59,7 +84,7 @@
- ✨ 新增频道接口白名单:不参与测速,永远保留在结果最前面(#470
使用方法:
1. 模板频道接口地址后添加$!即可实现(如:广东珠江,http://xxx.m3u$!
2. 额外信息补充(如:广东珠江,http://xxx.m3u$!额外信息 更多接口白名单请至https://github.com/Guovin/GTV/issues/514 讨论
2. 额外信息补充(如:广东珠江,http://xxx.m3u$!额外信息 更多接口白名单请至https://github.com/Guovin/IPTV/issues/514 讨论
- ✨ 新增 🈳 无结果频道分类:无结果频道默认归类至该底部分类下(#473
- ✨ 接口地址增加来源类型说明
- ✨ 默认模板增加广东民生(#481、广州综合#504
@ -78,7 +103,7 @@
- ✨ Added channel interface whitelist: Not participating in speed testing, always kept at the very front of the results. (#470)
Usage:
1. Add $! after the template channel interface address (e.g., Guangdong Pearl River, http://xxx.m3u$!).
2. Additional information can be appended (e.g., Guangdong Pearl River, http://xxx.m3u$! Additional Information) (#470). For more interface whitelists, please discuss at https://github.com/Guovin/GTV/issues/514.
2. Additional information can be appended (e.g., Guangdong Pearl River, http://xxx.m3u$! Additional Information) (#470). For more interface whitelists, please discuss at https://github.com/Guovin/IPTV/issues/514.
- ✨ Added 🈳 No Results Channel Category: Channels without results are categorized under this bottom category by default (#473).
- ✨ Interface addresses now include source type descriptions.
- ✨ Default templates now include Guangdong People's Livelihood (#481) and Guangzhou Comprehensive (#504).

View file

@ -1,9 +1,9 @@
<div align="center">
<img src="./static/images/logo.png" alt="logo"/>
<h1 align="center">GTV</h1>
<h1 align="center">IPTV更新工具</h1>
</div>
<div align="center">IPTV直播源更新工具自定义频道,自动获取直播源接口,测速验效后生成可用的结果</div>
<div align="center">自定义频道,自动获取直播源接口,测速验效后生成可用的结果</div>
<div align="center">默认结果包含:📺央视频道、💰央视付费频道、📡卫视频道、🏠广东频道、🌊港·澳·台频道、🎬电影频道、🎥咪咕直播、🏀体育频道、🪁动画频道、🎮游戏频道、🎵音乐频道、🏛经典剧场</div>
<details>
@ -62,23 +62,26 @@
</details>
<br>
<p align="center">
<a href="https://github.com/Guovin/GTV/releases/latest">
<img src="https://img.shields.io/github/v/release/guovin/gtv" />
<a href="https://github.com/Guovin/IPTV/releases/latest">
<img src="https://img.shields.io/github/v/release/guovin/iptv" />
</a>
<a href="https://www.python.org/">
<img src="https://img.shields.io/badge/python-%20%3D%203.13-47c219" />
</a>
<a href="https://github.com/Guovin/GTV/releases/latest">
<img src="https://img.shields.io/github/downloads/guovin/gtv/total" />
<a href="https://github.com/Guovin/IPTV/releases/latest">
<img src="https://img.shields.io/github/downloads/guovin/iptv/total" />
</a>
<a href="https://hub.docker.com/repository/docker/guovern/gtv">
<img src="https://img.shields.io/docker/pulls/guovern/gtv?label=docker:gtv" />
<a href="https://hub.docker.com/repository/docker/guovern/iptv">
<img src="https://img.shields.io/docker/pulls/guovern/iptv" />
</a>
<a href="https://hub.docker.com/repository/docker/guovern/gtv-lite">
<img src="https://img.shields.io/docker/pulls/guovern/gtv-lite?label=docker:gtv-lite" />
<a href="https://hub.docker.com/repository/docker/guovern/tv-requests">
<img src="https://img.shields.io/docker/pulls/guovern/tv-requests?label=docker:requests" />
</a>
<a href="https://github.com/Guovin/GTV/fork">
<img src="https://img.shields.io/github/forks/guovin/gtv" />
<a href="https://hub.docker.com/repository/docker/guovern/tv-driver">
<img src="https://img.shields.io/docker/pulls/guovern/tv-driver?label=docker:driver" />
</a>
<a href="https://github.com/Guovin/IPTV/fork">
<img src="https://img.shields.io/github/forks/guovin/iptv" />
</a>
</p>
@ -99,17 +102,17 @@
- 接口源:
```bash
https://ghproxy.net/raw.githubusercontent.com/Guovin/GTV/gd/output/result.m3u
https://ghproxy.net/raw.githubusercontent.com/Guovin/IPTV/gd/output/result.m3u
```
```bash
https://ghproxy.net/raw.githubusercontent.com/Guovin/GTV/gd/output/result.txt
https://ghproxy.net/raw.githubusercontent.com/Guovin/IPTV/gd/output/result.txt
```
- 数据源:
```bash
https://ghproxy.net/raw.githubusercontent.com/Guovin/GTV/gd/source.json
https://ghproxy.net/raw.githubusercontent.com/Guovin/IPTV/gd/source.json
```
## ⚙️ 配置
@ -138,7 +141,7 @@ pipenv run dev
### 方式三GUI 软件
1. 下载[GTV 软件](https://github.com/Guovin/GTV/releases),打开软件,点击更新,即可完成更新
1. 下载[IPTV 更新软件](https://github.com/Guovin/IPTV/releases),打开软件,点击更新,即可完成更新
2. 或者在项目目录下运行以下命令,即可打开 GUI 软件:
@ -146,39 +149,39 @@ pipenv run dev
pipenv run ui
```
<img src="./docs/images/ui.png" alt="GTV软件" title="GTV软件" style="height:600px" />
<img src="./docs/images/ui.png" alt="IPTV更新软件" title="IPTV更新软件" style="height:600px" />
### 方式四Docker
- gtv完整版本性能要求较高更新速度较慢稳定性、成功率高修改配置 open_driver = False 可切换到 Lite 版本运行式(推荐酒店源、组播源、关键字搜索使用此版本)
- gtv:lite精简版本轻量级性能要求低更新速度快稳定性不确定推荐订阅源使用此版本
- iptv完整版本性能要求较高更新速度较慢稳定性、成功率高修改配置 open_driver = False 可切换到 Lite 版本运行式(推荐酒店源、组播源、关键字搜索使用此版本)
- iptv:lite精简版本轻量级性能要求低更新速度快稳定性不确定推荐订阅源使用此版本
1. 拉取镜像:
- gtv
- iptv
```bash
docker pull guovern/gtv:latest
docker pull guovern/iptv:latest
```
- gtv:lite
- iptv:lite
```bash
docker pull guovern/gtv:lite
docker pull guovern/iptv:lite
```
2. 运行容器:
- gtv
- iptv
```bash
docker run -d -p 8000:8000 guovern/gtv
docker run -d -p 8000:8000 guovern/iptv
```
- gtv:lite
- iptv:lite
```bash
docker run -d -p 8000:8000 guovern/gtv:lite
docker run -d -p 8000:8000 guovern/iptv:lite
```
卷挂载参数(可选):
@ -186,16 +189,16 @@ docker run -d -p 8000:8000 guovern/gtv:lite
以宿主机路径/etc/docker 为例:
- gtv
- iptv
```bash
docker run -v /etc/docker/config:/gtv/config -v /etc/docker/output:/gtv/output -d -p 8000:8000 guovern/gtv
docker run -v /etc/docker/config:/iptv/config -v /etc/docker/output:/iptv/output -d -p 8000:8000 guovern/iptv
```
- gtv:lite
- iptv:lite
```bash
docker run -v /etc/docker/config:/gtv-lite/config -v /etc/docker/output:/gtv-lite/output -d -p 8000:8000 guovern/gtv:lite
docker run -v /etc/docker/config:/iptv-lite/config -v /etc/docker/output:/iptv-lite/output -d -p 8000:8000 guovern/iptv:lite
```
3. 更新结果:

View file

@ -1,9 +1,9 @@
<div align="center">
<img src="./static/images/logo.png" alt="logo"/>
<h1 align="center">GTV</h1>
<h1 align="center">IPTV update tool</h1>
</div>
<div align="center">IPTV live source update tool: customize channels, automatically obtain live source interface, and generate usable results after speed test</div>
<div align="center">Customize channels, automatically obtain live source interface, and generate usable results after speed test</div>
<div align="justify">Default results include: 📺CCTV Channel, 💰CCTV Pay Channel, 📡Satellite TV Channel, 🏠Guangdong Channel, 🌊Hong Kong · Macao · Taiwan Channel, 🎬Movie Channel, 🎥Migu Live Streaming, 🏀Sports Channel, 🪁Animation channel, 🎮Game channel, 🎵Music channel, 🏛Classic Theater.</div>
<details>
@ -62,23 +62,26 @@
</details>
<br>
<p align="center">
<a href="https://github.com/Guovin/GTV/releases/latest">
<img src="https://img.shields.io/github/v/release/guovin/gtv" />
<a href="https://github.com/Guovin/IPTV/releases/latest">
<img src="https://img.shields.io/github/v/release/guovin/iptv" />
</a>
<a href="https://www.python.org/">
<img src="https://img.shields.io/badge/python-%20%3D%203.13-47c219" />
</a>
<a href="https://github.com/Guovin/GTV/releases/latest">
<img src="https://img.shields.io/github/downloads/guovin/gtv/total" />
<a href="https://github.com/Guovin/IPTV/releases/latest">
<img src="https://img.shields.io/github/downloads/guovin/iptv/total" />
</a>
<a href="https://hub.docker.com/repository/docker/guovern/gtv">
<img src="https://img.shields.io/docker/pulls/guovern/gtv?label=docker:gtv" />
<a href="https://hub.docker.com/repository/docker/guovern/iptv">
<img src="https://img.shields.io/docker/pulls/guovern/iptv" />
</a>
<a href="https://hub.docker.com/repository/docker/guovern/gtv-lite">
<img src="https://img.shields.io/docker/pulls/guovern/gtv-lite?label=docker:gtv-lite" />
<a href="https://hub.docker.com/repository/docker/guovern/tv-requests">
<img src="https://img.shields.io/docker/pulls/guovern/tv-requests?label=docker:requests" />
</a>
<a href="https://github.com/Guovin/GTV/fork">
<img src="https://img.shields.io/github/forks/guovin/gtv" />
<a href="https://hub.docker.com/repository/docker/guovern/tv-driver">
<img src="https://img.shields.io/docker/pulls/guovern/tv-driver?label=docker:driver" />
</a>
<a href="https://github.com/Guovin/IPTV/fork">
<img src="https://img.shields.io/github/forks/guovin/iptv" />
</a>
</p>
@ -138,7 +141,7 @@ pipenv run dev
### Method 3: GUI Software
1. Download [GTV software](https://github.com/Guovin/GTV/releases), open the software, click update to complete the update
1. Download [IPTV update software](https://github.com/Guovin/IPTV/releases), open the software, click update to complete the update
2. Or run the following command in the project directory to open the GUI software:
@ -146,41 +149,41 @@ pipenv run dev
pipenv run ui
```
<img src="./docs/images/ui.png" alt="GTV software" title="GTV software" style="height:600px" />
<img src="./docs/images/ui.png" alt="IPTV update software" title="IPTV update software" style="height:600px" />
### Method 4: Docker
- gtv (Full version): Higher performance requirements, slower update speed, high stability and success rate. Set open_driver = False to switch to the gtv-lite version (recommended for hotel sources, multicast sources, and online searches)
- gtv:lite (Condensed version): Lightweight, low performance requirements, fast update speed, stability uncertain (recommend using this version for the subscription source)
- iptv (Full version): Higher performance requirements, slower update speed, high stability and success rate. Set open_driver = False to switch to the iptv-lite running mode (recommended for hotel sources, multicast sources, and online searches)
- iptv:lite (Condensed version): Lightweight, low performance requirements, fast update speed, stability uncertain (recommend using this version for the subscription source)
It's recommended to try each one and choose the version that suits you
1. Pull the image:
- gtv
- iptv
```bash
docker pull guovern/gtv:latest
docker pull guovern/iptv:latest
```
- gtv:lite
- iptv:lite
```bash
docker pull guovern/gtv:lite
docker pull guovern/iptv:lite
```
2. Run the container:
- gtv
- iptv
```bash
docker run -d -p 8000:8000 guovern/gtv
docker run -d -p 8000:8000 guovern/iptv
```
- gtv:lite
- iptv:lite
```bash
docker run -d -p 8000:8000 guovern/gtv:lite
docker run -d -p 8000:8000 guovern/iptv:lite
```
Volume Mount Parameter (Optional):
@ -188,16 +191,16 @@ This allows synchronization of files between the host machine and the container.
Taking the host path /etc/docker as an example:
- gtv
- iptv
```bash
docker run -v /etc/docker/config:/gtv/config -v /etc/docker/output:/gtv/output -d -p 8000:8000 guovern/gtv
docker run -v /etc/docker/config:/iptv/config -v /etc/docker/output:/iptv/output -d -p 8000:8000 guovern/iptv
```
- gtv:lite
- iptv:lite
```bash
docker run -v /etc/docker/config:/gtv-lite/config -v /etc/docker/output:/gtv-lite/output -d -p 8000:8000 guovern/gtv:lite
docker run -v /etc/docker/config:/iptv-lite/config -v /etc/docker/output:/iptv-lite/output -d -p 8000:8000 guovern/iptv:lite
```
3. Update results:

View file

@ -23,7 +23,7 @@
### 1. Star
打开 https://github.com/Guovin/GTV ,点击 Star 收藏该项目(您的 Star 是我持续更新的动力)
打开 https://github.com/Guovin/IPTV ,点击 Star 收藏该项目(您的 Star 是我持续更新的动力)
![Star](./images/star.png 'Star')
### 2. Watch
@ -188,7 +188,7 @@ pipenv run dev
### 方式三GUI 软件
1. 下载[GTV 软件](https://github.com/Guovin/GTV/releases),打开软件,点击更新,即可完成更新
1. 下载[IPTV 更新软件](https://github.com/Guovin/IPTV/releases),打开软件,点击更新,即可完成更新
2. 或者在项目目录下运行以下命令,即可打开 GUI 软件:
@ -196,39 +196,39 @@ pipenv run dev
pipenv run ui
```
![GTV](./images/ui.png 'GTV')
![IPTV 更新软件](./images/ui.png 'IPTV 更新软件')
### 方式四Docker
- gtv完整版本性能要求较高更新速度较慢稳定性、成功率高修改配置 open_driver = False 可切换到 Lite 版本运行式(推荐酒店源、组播源、关键字搜索使用此版本)
- gtv:lite精简版本轻量级性能要求低更新速度快稳定性不确定推荐订阅源使用此版本
- iptv完整版本性能要求较高更新速度较慢稳定性、成功率高修改配置 open_driver = False 可切换到 Lite 版本运行式(推荐酒店源、组播源、关键字搜索使用此版本)
- iptv:lite精简版本轻量级性能要求低更新速度快稳定性不确定推荐订阅源使用此版本
1. 拉取镜像:
- gtv
- iptv
```bash
docker pull guovern/gtv:latest
docker pull guovern/iptv:latest
```
- gtv:lite
- iptv:lite
```bash
docker pull guovern/gtv:lite
docker pull guovern/iptv:lite
```
2. 运行容器:
- gtv
- iptv
```bash
docker run -d -p 8000:8000 guovern/gtv
docker run -d -p 8000:8000 guovern/iptv
```
- gtv:lite
- iptv:lite
```bash
docker run -d -p 8000:8000 guovern/gtv:lite
docker run -d -p 8000:8000 guovern/iptv:lite
```
卷挂载参数(可选):
@ -236,16 +236,16 @@ docker run -d -p 8000:8000 guovern/gtv:lite
以宿主机路径/etc/docker 为例:
- gtv
- iptv
```bash
docker run -v /etc/docker/config:/gtv/config -v /etc/docker/output:/gtv/output -d -p 8000:8000 guovern/gtv
docker run -v /etc/docker/config:/iptv/config -v /etc/docker/output:/iptv/output -d -p 8000:8000 guovern/iptv
```
- gtv:lite
- iptv:lite
```bash
docker run -v /etc/docker/config:/gtv-lite/config -v /etc/docker/output:/gtv-lite/output -d -p 8000:8000 guovern/gtv:lite
docker run -v /etc/docker/config:/iptv-lite/config -v /etc/docker/output:/iptv-lite/output -d -p 8000:8000 guovern/iptv:lite
```
3. 更新结果:

View file

@ -23,7 +23,7 @@ Since this project will continue to iterate and improve, if you want to get the
### 1. Star
Go to https://github.com/Guovin/GTV, click on Star to bookmark this project (Your Star is my motivation to keep updating).
Go to https://github.com/Guovin/IPTV, click on Star to bookmark this project (Your Star is my motivation to keep updating).
![Star](./images/star.png 'Star')
### 2. Watch
@ -185,7 +185,7 @@ pipenv run dev
### Method 3: GUI Software
1. Download [GTV software](https://github.com/Guovin/GTV/releases), open the software, click update to complete the update.
1. Download [IPTV update software](https://github.com/Guovin/IPTV/releases), open the software, click update to complete the update.
2. Alternatively, run the following command in the project directory to open the GUI software:
@ -193,41 +193,41 @@ pipenv run dev
pipenv run ui
```
![Update tool software](./images/ui.png 'Update tool software')
![IPTV update software](./images/ui.png 'IPTV update software')
### Method 4: Docker
- gtv (Full version): Higher performance requirements, slower update speed, high stability and success rate. Set open_driver = False to switch to the gtv-lite version (recommended for hotel sources, multicast sources, and online searches)
- gtv:lite (Condensed version): Lightweight, low performance requirements, fast update speed, stability uncertain (recommend using this version for the subscription source)
- iptv (Full version): Higher performance requirements, slower update speed, high stability and success rate. Set open_driver = False to switch to the iptv-lite running mode (recommended for hotel sources, multicast sources, and online searches)
- iptv:lite (Condensed version): Lightweight, low performance requirements, fast update speed, stability uncertain (recommend using this version for the subscription source)
It's recommended to try each one and choose the version that suits you
1. Pull the image:
- gtv
- iptv
```bash
docker pull guovern/gtv:latest
docker pull guovern/iptv:latest
```
- gtv:lite
- iptv:lite
```bash
docker pull guovern/gtv:lite
docker pull guovern/iptv:lite
```
2. Run the container:
- gtv
- iptv
```bash
docker run -d -p 8000:8000 guovern/gtv
docker run -d -p 8000:8000 guovern/iptv
```
- gtv:lite
- iptv:lite
```bash
docker run -d -p 8000:8000 guovern/gtv:lite
docker run -d -p 8000:8000 guovern/iptv:lite
```
Volume Mount Parameter (Optional):
@ -235,16 +235,16 @@ This allows synchronization of files between the host machine and the container.
Taking the host path /etc/docker as an example:
- gtv
- iptv
```bash
docker run -v /etc/docker/config:/gtv/config -v /etc/docker/output:/gtv/output -d -p 8000:8000 guovern/gtv
docker run -v /etc/docker/config:/iptv/config -v /etc/docker/output:/iptv/output -d -p 8000:8000 guovern/iptv
```
- gtv:lite
- iptv:lite
```bash
docker run -v /etc/docker/config:/gtv-lite/config -v /etc/docker/output:/gtv-lite/output -d -p 8000:8000 guovern/gtv:lite
docker run -v /etc/docker/config:/iptv-lite/config -v /etc/docker/output:/iptv-lite/output -d -p 8000:8000 guovern/iptv:lite
```
3. Update results:

View file

@ -1,4 +1,3 @@
from driver.setup import setup_driver
from utils.retry import (
retry_func,
locate_element_with_retry,
@ -7,13 +6,14 @@ from utils.retry import (
from time import sleep
import re
from bs4 import BeautifulSoup
from selenium.webdriver.common.by import By
def get_soup_driver(url):
"""
Get the soup by driver
"""
from driver.setup import setup_driver
driver = setup_driver()
retry_func(lambda: driver.get(url), name=url)
sleep(1)
@ -33,6 +33,8 @@ def search_submit(driver, name):
"""
Input key word and submit with driver
"""
from selenium.webdriver.common.by import By
search_box = locate_element_with_retry(driver, (By.XPATH, '//input[@type="text"]'))
if not search_box:
return

View file

@ -44,14 +44,14 @@ class AboutUI:
project_label.pack()
project_link = tk.Label(
project_row_column2,
text="https://github.com/Guovin/GTV",
text="https://github.com/Guovin/IPTV",
fg="blue",
cursor="hand2",
)
project_link.pack()
project_link.bind(
"<Button-1>",
lambda e: webbrowser.open_new_tab("https://github.com/Guovin/GTV"),
lambda e: webbrowser.open_new_tab("https://github.com/Guovin/IPTV"),
)
disclaimer_label = tk.Label(

View file

@ -45,7 +45,7 @@ exe = EXE(
a.binaries,
a.datas,
[],
name='GTV',
name='IPTV',
debug=True,
bootloader_ignore_signals=False,
strip=False,

View file

@ -3,7 +3,6 @@ from time import time
from requests import get
from concurrent.futures import ThreadPoolExecutor, as_completed
import updates.fofa.fofa_map as fofa_map
from driver.setup import setup_driver
import re
from utils.config import config
import utils.constants as constants
@ -87,6 +86,8 @@ async def get_channels_by_fofa(urls=None, multicast=False, callback=None):
proxy = None
open_proxy = config.open_proxy
open_driver = config.open_driver
if open_driver:
from driver.setup import setup_driver
open_sort = config.open_sort
if open_proxy:
test_url = fofa_urls[0][0]

View file

@ -13,7 +13,6 @@ from utils.retry import (
retry_func,
find_clickable_element_with_retry,
)
from selenium.webdriver.common.by import By
from tqdm.asyncio import tqdm_asyncio
from concurrent.futures import ThreadPoolExecutor, as_completed
from requests_custom.utils import get_soup_requests, close_session
@ -33,6 +32,8 @@ async def get_channels_by_hotel(callback=None):
proxy = None
open_proxy = config.open_proxy
open_driver = config.open_driver
if open_driver:
from selenium.webdriver.common.by import By
page_num = config.hotel_page_num
region_list = config.hotel_region_list
if "all" in region_list or "ALL" in region_list or "全部" in region_list:

View file

@ -18,7 +18,6 @@ from utils.retry import (
retry_func,
find_clickable_element_with_retry,
)
from selenium.webdriver.common.by import By
from tqdm.asyncio import tqdm_asyncio
from concurrent.futures import ThreadPoolExecutor, as_completed
from requests_custom.utils import get_soup_requests, close_session
@ -37,6 +36,8 @@ async def get_channels_by_multicast(names, callback=None):
proxy = None
open_proxy = config.open_proxy
open_driver = config.open_driver
if open_driver:
from selenium.webdriver.common.by import By
page_num = config.multicast_page_num
if open_proxy:
proxy = await get_proxy(pageUrl, best=True, with_test=True)

View file

@ -20,7 +20,6 @@ from utils.retry import (
retry_func,
find_clickable_element_with_retry,
)
from selenium.webdriver.common.by import By
from tqdm.asyncio import tqdm_asyncio
from concurrent.futures import ThreadPoolExecutor
from requests_custom.utils import get_soup_requests, close_session
@ -37,6 +36,8 @@ async def get_channels_by_online_search(names, callback=None):
proxy = None
open_proxy = config.open_proxy
open_driver = config.open_driver
if open_driver:
from selenium.webdriver.common.by import By
page_num = config.online_search_page_num
if open_proxy:
proxy = await get_proxy(pageUrl, best=True, with_test=True)

View file

@ -1,9 +1,11 @@
from time import sleep
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from utils.config import config
if config.open_driver:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
max_retries = 2

View file

@ -1,4 +1,4 @@
{
"version": "1.5.2",
"name": "GTV"
"version": "1.5.4",
"name": "IPTV"
}