帮我用python写一个脚本读取live.url.txt,每一行是一个url,我想判断这里的地址是否有效,多线程检测把有效的地址打印出来
时间: 2024-10-09 10:03:52 浏览: 27
python脚本在线播放实时rtmp视频流
当然可以,你可以使用Python的`requests`库来检查URL的有效性,并结合`concurrent.futures`模块实现多线程。下面是一个简单的脚本示例:
```python
import requests
import concurrent.futures
# 指定文件路径
file_path = 'live.url.txt'
def is_valid(url):
try:
# 使用requests.get()尝试访问URL,如果状态码为200则认为有效
response = requests.get(url, timeout=5)
return response.status_code == 200
except (requests.exceptions.RequestException, ConnectionError):
# 如果请求过程中出错,则认为无效
return False
def check_url(url):
if is_valid(url):
print(f"{url} 是有效的")
with open(file_path, 'r') as file:
urls = file.readlines()
# 使用ThreadPoolExecutor并发处理URL
with concurrent.futures.ThreadPoolExecutor() as executor:
future_to_url = {executor.submit(check_url, url): url for url in urls}
for future in concurrent.futures.as_completed(future_to_url):
url = future_to_url[future]
try:
future.result() # 获取结果并忽略异常
except Exception as exc:
print(f"处理 {url} 出现错误: {exc}")
阅读全文