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

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

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

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

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

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

Уважаемые подскажите.
Есть скрипт для проверки работающих ссылок youtube с плейлиста.
Работает прекрасно. Проверяемый плейлист переименовываем в файл: printer1.mu3
Все неработающие ссылки получаем в файл: err.mu3
Код:
#!/usr/bin/env python3
import sys
import urllib.request
import urllib.error
#import youtube_dl

def get_url_nofollow(url):
    try:
        response = urllib.request.urlopen(url)
        code = response.getcode()
        return code
    except urllib.error.HTTPError as e:
        return e.code
    except:
        return 0

def get_url_nofollow1(url):
    try:
        response = urllib.request.urlopen(url)
        code = response.geturl()
        return code
    except urllib.error.HTTPError as e:
        return e.code
    except:
        return 0

def main(args):
	urls1 = []
	urls = {}
	
	arguments = len(args) - 1

	filepath1 = 'printer1.mu3'
	filepath2 = 'err.mu3'
	if arguments > 1:
		filepath1 = args[1]
	if arguments >= 2:
		filepath2 = args[2]

	#print ("parameter1 %s" % filepath1)
	#print ("parameter2 %s" % filepath2)
	
	fo = open(filepath2, "w", encoding = "utf-8")
	
	ydl_opts = {
	#	'logger': MyLogger(),
		'no_warnings': True,
		'quiet': True,
	#	'ignoreerrors': True,
		'logtostderr': True,
	}

#	ydl = youtube_dl.YoutubeDL(ydl_opts)
	#with youtube_dl.YoutubeDL(ydl_opts) as ydl:


	with open(filepath1, encoding = "utf-8") as fp:
		line = fp.readline()
		cnt = 1
		while line:
			line = line.strip()
			line = line.strip('\n')
			line = line.strip('\r')
			urls1.append(line)
			if (line[0:4] == "http"):
				cnt += 1
				if (line.find("youtube") != -1):
					print(cnt)
#					code = get_url_nofollow(line)
					urln = get_url_nofollow1(line)
					if (line[-5:] != urln[-5:]):
						for url in urls1:
							fo.write(url + '\n')
							print(url)
#						print(urln)
#						print(line)
#						print("unava")
						#if code != 200:
				urls1.clear()

			line = fp.readline()
			
	fp.close()
	fo.close()
	
if __name__ == "__main__":
    main(sys.argv[0:])
Можно ли доработать или изменить этот скрипт чтобы он проверял ссылки с облака майл.ру такого типа:
Код:
#EXTM3U
#EXTINF:-1 ,ГЛЮК'OZA — Танцуй, Россия!!! - live - Жара в Вегасе - 18 декабря 2016
#EXTGRP:0. Музыка-Россия
https://cloud.mail.ru/public/Eeew/PBuHNF5Ck
#EXTINF:-1 ,Максим ФАДЕЕВ & Григорий ЛЕПС - Орлы или вороны
#EXTGRP:0. Музыка-Россия
https://cloud.mail.ru/public/CG1Q/DbzCVFVnG

Последний раз редактировалось satfan; 21.02.2020 в 06:10.
satfan вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доработать скрипт в Python Pavel.Nikandrov Python 0 14.04.2017 08:41
Помогите доработать скрипт kiril318 JavaScript, Ajax 0 22.07.2014 19:36
[$100] Доработать скрипт на Python 2.7+ apodgaisky Фриланс 2 12.10.2013 15:26
Требуется доработать скрипт PHP ValerySt Фриланс 3 08.04.2012 11:47