Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2022, 14:57   #1
satfan
Пользователь
 
Регистрация: 11.02.2019
Сообщений: 79
По умолчанию Неправильный итог работы скрипта

IDLE (Python 3.10 64-bit)
Windows 10
- - - - - - - - - - - - - - - -
Есть скрипт для проверки рабочих ссылок из списка - Checker_link_m3u:
Код:
import requests

work_url_mas = []


def work_url(url):
    try:
        with requests.get(url, stream=True) as s:
            print(url, s, "Рабочая")
        work_url_mas.append(url)
    except:
        print(url, "Не рабочая")


with open("link1.txt", "r") as file:
    lst_url = file.readlines()

for i in lst_url:
    work_url(i)

print('\nПроверка завершена')
with open("out_ok.txt", 'w') as f:
    f.write('\n'.join(work_url_mas))
1. Выдаёт и сохраняет все строки с ошибками: 404, 403
Нужно: 200
2. Как в скрипт добавить временную задержку Глобальную переменную?
TIMEOUT = 8
3.
satfan вне форума Ответить с цитированием
Старый 27.01.2022, 15:08   #2
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Цитата:
Сообщение от satfan Посмотреть сообщение
1. Выдаёт и сохраняет все строки с ошибками: 404, 403
Нужно: 200
И где в вашем коде, хотя бы числа 404, 403, 200?.. Не говоря уже о проверках?
ForenLi вне форума Ответить с цитированием
Старый 27.01.2022, 15:44   #3
satfan
Пользователь
 
Регистрация: 11.02.2019
Сообщений: 79
По умолчанию

Так выдаёт скрипт:
Код:
http://acetv.org/list/acetv.org.m3u
 <Response [404]> Рабочая
https://dl.dropbox.com/s/w9eu4m6zcffdyxb/плейлист.m3u
 <Response [200]> Рабочая
https://dl.dropboxusercontent.com/s/pja8xh1bqzfhvi1/446688.m3u
 <Response [200]> Рабочая
https://smarttvapp.ru/app/iptvfull.m3u
 <Response [404]> Рабочая
https://tva.org.ua/ip/sam/avto-iptv-tva.m3u
 <Response [404]> Рабочая
https://iptv-russia.ru/list/ru-rostelecom.m3u
 <Response [404]> Рабочая
https://iptvlist.ru/ru.m3u
 <Response [404]> Рабочая

 Не рабочая
satfan вне форума Ответить с цитированием
Старый 27.01.2022, 15:49   #4
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Естественно. Т.к. в ВАШЕМ КОДЕ НЕТ

Цитата:
Сообщение от ForenLi Посмотреть сообщение
числа 404, 403, 200?.. Не говоря уже о проверках?
ForenLi вне форума Ответить с цитированием
Старый 27.01.2022, 15:51   #5
satfan
Пользователь
 
Регистрация: 11.02.2019
Сообщений: 79
По умолчанию

Спасибо ForenLi
Я начинающий, не всё понятно.
Как мне исправить скрипт ?
satfan вне форума Ответить с цитированием
Старый 27.01.2022, 15:58   #6
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Добавить проверку на нужный вам код 200.
ForenLi вне форума Ответить с цитированием
Старый 27.01.2022, 16:12   #7
satfan
Пользователь
 
Регистрация: 11.02.2019
Сообщений: 79
По умолчанию

Как это сделать ?
P.S
По этим всем ссылкам мы должны скачать файлы m3u.
satfan вне форума Ответить с цитированием
Старый 27.01.2022, 16:16   #8
ffuri
Пользователь
 
Регистрация: 18.01.2022
Сообщений: 11
По умолчанию

Цитата:
Сообщение от satfan Посмотреть сообщение
1. Выдаёт и сохраняет все строки с ошибками: 404, 403
Нужно: 200
отсеивай нужное значение через if-else
Цитата:
Сообщение от satfan Посмотреть сообщение
2. Как в скрипт добавить временную задержку Глобальную переменную?
TIMEOUT = 8
добавть в начало или в конец функции sleep() с параметром TIMEOUT
ffuri вне форума Ответить с цитированием
Старый 27.01.2022, 16:38   #9
satfan
Пользователь
 
Регистрация: 11.02.2019
Сообщений: 79
По умолчанию

Уважаемый ffuri
Как это сделать, в какую строку скрипта ?
satfan вне форума Ответить с цитированием
Старый 27.01.2022, 18:13   #10
ffuri
Пользователь
 
Регистрация: 18.01.2022
Сообщений: 11
По умолчанию

Цитата:
Сообщение от satfan Посмотреть сообщение
Уважаемый ffuri
Как это сделать, в какую строку скрипта ?

Цитата:
Сообщение от ffuri Посмотреть сообщение
отсеивай нужное значение через if-else
Код:
import requests
work_url_mas = []


def work_url(url):
    response = requests.get(url=url).status_code
    if response == 200:
        print(f'{url} "Рабочая"')
        work_url_mas.append(url)
    else:
        print(f'{url} "Нерабочая"')

Цитата:
Сообщение от ffuri Посмотреть сообщение
добавть в начало или в конец функции sleep() с параметром TIMEOUT
Код:
for i in lst_url:
    time.sleep(TIMEOUT)
    work_url(i)
ffuri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с синхронизацией работы скрипта lollollollol PHP 15 13.05.2014 22:49
Timer. Считаем время работы скрипта bilibian Общие вопросы Delphi 6 27.02.2014 22:11
Уменьшение скорости работы скрипта amdbodia PHP 3 16.01.2011 20:49
Замедление работы скрипта в чём причина? Alkov74 Microsoft Office Word 2 12.11.2010 20:32
ajax индикатор работы скрипта ssdm JavaScript, Ajax 3 08.04.2010 17:04