Пример:
https://mega.nz/folder/...образно[code]python
Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from mega import Mega
>>> mega = Mega()
>>> m = mega.login('username', 'passwrod')
>>> link = "https://mega.nz/folder/[link]#[key]"
>>> link_info = m.get_public_url_info(link)
Traceback (most recent call last):
File "", line 1, in
File "...\AppData\Local\Programs\Python\Python311\Lib\site-packages\mega\mega.py", line 990, in get_public_url_info
file_handle, file_key = self._parse_url(url).split('!')
^^^^^^^^^^^^^^^^^^^^
File "...\AppData\Local\Programs\Python\Python311\Lib\site-packages\mega\mega.py", line 206, in _parse_url
raise RequestError('Url key missing')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "...\AppData\Local\Programs\Python\Python311\Lib\site-packages\mega\errors.py", line 58, in __init__
code_desc, long_desc = _CODE_TO_DESCRIPTIONS
Код: Выделить всё
~~~~~~~~~~~~~~~~~~~~~^^^^^^
KeyError: 'Url key missing'
>>> link = "https://mega.nz/file/[link]#[key]"
>>> link_info = m.get_public_url_info(link)
>>> print(link_info)
{'size': 6732143421, 'name': 'Name.mp4'}
https://github.com/odwyersoftware/mega.py
из кода, метод _parse_url только поддерживает файловые URL -файлы. Вот соответствующий фрагмент: < /p>
def _parse_url(self, url):
"""Parse file id and key from url."""
if '/file/' in url:
# V2 URL structure
url = url.replace(' ', '')
file_id = re.findall(r'\W\w\w\w\w\w\w\w\w\W', url)[0][1:-1]
id_index = re.search(file_id, url).end()
key = url[id_index + 1:]
return f'{file_id}!{key}'
elif '!' in url:
# V1 URL structure
match = re.findall(r'/#!(.*)', url)
path = match[0]
return path
else:
raise RequestError('Url key missing')
< /code>
Я пробовал другие инструменты, такие как:
mega-cmd, rclone, megatool, и т. Д. ...
, но ни один, кажется, не поддерживает получение размера общедоступного URL. Поддержка запросов размера публичных папок.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... ing-python