如何使用mega.py从Mega文件夹链接获取单个文件的访问URL
提取Mega文件夹中所有文件的独立访问URL
我来帮你搞定这个需求,基于你给出的初始代码,只需要扩展几步就能提取指定Mega文件夹里每个文件的独立访问URL。下面是完整的实现代码和说明:
完整实现代码
from mega import Mega mega = Mega() m = mega.login() # 指定目标文件夹链接 folder_link = "https://mega.nz/folder/prJmGKRK#Wyp6DjoQIvykCRXJ5p734w" # 获取文件夹对象,包含其中所有文件/子文件夹的信息 folder = m.get_folder(folder_link) # 遍历文件夹,过滤出文件并生成公开访问链接 file_links = [] for file_id, file_info in folder['nodes'].items(): # Mega API中,type=0代表文件,type=1代表文件夹 if file_info['type'] == 0: # 生成该文件的公开可访问URL public_link = m.get_public_link(file_info) file_links.append(public_link) # 按你需要的格式输出每个文件链接 for index, link in enumerate(file_links, start=1): print(f'link{index} = "{link}"')
关键步骤说明
- 获取文件夹数据:通过
m.get_folder(folder_link)方法,我们可以拿到目标文件夹对应的节点集合,里面包含了所有文件和子文件夹的元数据。 - 过滤文件:遍历节点时,通过
type == 0筛选出文件(避免处理子文件夹)。 - 生成公开链接:使用
m.get_public_link(file_info)为每个文件生成独立的可访问URL,这个链接可以直接在浏览器中打开下载或查看文件。 - 格式输出:用
enumerate给每个链接编号,按照你提供的示例格式打印结果。
注意事项
- 确保你已经安装了
mega.py库,如果没装可以执行命令:pip install mega.py - 如果目标文件夹是私有文件夹,你需要在
mega.login()中传入你的Mega账号和密码,比如mega.login("your_email@example.com", "your_password");如果是公开文件夹,直接使用无参的mega.login()即可。
内容的提问来源于stack exchange,提问作者user19441082




