Найти - Пользователи
Полная версия: Ошибка в работе скрипта.
Начало » Python для новичков » Ошибка в работе скрипта.
1
satfan
IDLE (Python 3.10 64-bit)
Win 10
—————————–
Нужно найти строку в странице: https://zen.yandex.ru/video/watch/62795871aef4a05c45c72ced?t=39
Строка выглядит так:
 "https://strm.yandex.ru/vod/zen-vod/vod-content/d65a83bba89b63e61300f9e26da19b2b/a83029a6-d4f73007-dcba481d-d58c2c8f/kaltura/desc_64ff1ce872df6aae37aedc9d2869df09/86534225505746213/ysign1=6d490380c56ba635871b7e42bed944066499bbadc5a2bfa98e61c06c6a5a3925,abcID=967,from=zen,pfx,sfx,ts=628b1555/master.m3u8
Есть скрипт:
 import re
from urllib.request import urlopen
html = urlopen ("https://zen.yandex.ru/video/watch/62795871aef4a05c45c72ced?t=39").read().decode("utf-8")
m = ['a-z']
a = re.findall((r'https', '/master.m3u8'), html)
print(a)
————————-
Выдаёт ошибку:
Traceback (most recent call last):
File “C:\Users\Пк\Desktop\Как найти ссылку в html python\1.py”, line 6, in <module>
a = re.findall((r'https', ‘/master.m3u8’), html)
File “C:\Python\lib\re.py”, line 240, in findall
return _compile(pattern, flags).findall(string)
File “C:\Python\lib\re.py”, line 302, in _compile
raise TypeError(“first argument must be string or compiled pattern”)
TypeError: first argument must be string or compiled pattern

Что-то сделал не так. Подскажите как исправить ?
py.user.next
https://docs.python.org/3/library/re.html

  
>>> import re
>>> 
>>> text = ('"https://strm.yandex.ru/vod/zen-vod/'
...         'vod-content/d65a83bba89b63e61300f9e2'
...         '6da19b2b/a83029a6-d4f73007-dcba481d-'
...         'd58c2c8f/kaltura/desc_64ff1ce872df6a'
...         'ae37aedc9d2869df09/86534225505746213'
...         '/ysign1=6d490380c56ba635871b7e42bed9'
...         '44066499bbadc5a2bfa98e61c06c6a5a3925'
...         ',abcID=967,from=zen,pfx,sfx,ts=628b1'
...         '555/master.m3u8')
>>> 
>>> pat = r'https://.+?/master.m3u8'
>>> 
>>> out = re.findall(pat, text)
>>> out
['https://strm.yandex.ru/vod/zen-vod/vod-content/d65a83bba89b63e61300f9e26da19b2b/a83029a6-d4f73007-dcba481d-d58c2c8f/kaltura/desc_64ff1ce872df6aae37aedc9d2869df09/86534225505746213/ysign1=6d490380c56ba635871b7e42bed944066499bbadc5a2bfa98e61c06c6a5a3925,abcID=967,from=zen,pfx,sfx,ts=628b1555/master.m3u8']
>>>
satfan
Спасибо py.user.next
Мне нужно получить мою ссылку прямо со страницы браузера, не сохраняя эту страницу html, себе на ПК.
Ваш вариант не такой.
——————————-
Я искал ранее так:
1. Сохранял страницу html себе на ПК.
2. Открывал этот html блокнотом Notepad++
3. Поиск m3u8
4. Копирую найденную ссылку.
Без скрипта долго и не удобно.
py.user.next
satfan
Мне нужно получить мою ссылку прямо со страницы браузера, не сохраняя эту страницу html, себе на ПК.
Ваш вариант не такой.
satfan
Что-то сделал не так. Подскажите как исправить ?
Ну, я тебе исправил. У тебя в re.findall() подаётся кортеж. А надо подавать регулярное выражение в виде строки либо в виде скомпилированного объекта через re.compile().
satfan
Уважаемый py.user.next
Я только начал с Python.
Подскажи как исправить мой исходный скрипт ?
FishHook
satfan
Уважаемый py.user.nextЯ только начал с Python.Подскажи как исправить мой исходный скрипт ?
ты его уже четвертый год изучаешь, долбоёб
FishHook
тема закрыта ввиду тупости автора
автору рекомендуется не прикасаться трехметровой палкой к компьютеру, а лучше выпить яду
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB