【问题标题】:Python download multiple mp4 files from URLsPython 从 URL 下载多个 mp4 文件
【发布时间】:2015-12-17 09:12:26
【问题描述】:

我有 JSON 格式的 URL,其中包含许多 .mp4 文件 URL,有没有办法使用 Python 扫描 URL 并使用循环和 urlib -request 下载所有 .mp4 文件?

对于下载 1 个具有确切 URL 的文件,以下代码有效,但我的问题是 url.json 包含 100 个视频。

import urllib
urllib.url_retrive("http://example.com/helo.mp4","/var/opt")

是否有一个模块可以扫描页面并获取所有 .mp4 网址并循环下载每个网址?

【问题讨论】:

  • import json,然后从那里去
  • 我得到了这部分,但我主要关心的是我在那个 json body url 上有 100 个视频,如何解析它而不是传递 100 urllib.url_retrive
  • 如果你有 100 个文件要下载,你最终将不得不url_retrieve() 100 次,对吧?
  • @Vlad true 循环它并解析问题
  • 链接的格式不是很清楚。 JSON 文件是一堆指向带有 HTML 的页面的链接,这些页面上有 mp4 链接,还是 JSON 本身中的 mp4 链接?

标签: python python-2.7


【解决方案1】:

先分解这个问题。

首先,它从 URL 下载 JSON 并对其进行解析。见https://stackoverflow.com/a/13921930/230340

然后,它正在下载文件。这里有一些很棒的解决方案:How do I download a file over HTTP using Python?

整个过程可能是这样的:

import urllib, urllib2
import json
import uuid

# download and parse JSON
response = urllib2.urlopen('https://someprovider/of.json')
data = json.load(response)

# data.links is the array of download links, rename it to fit your JSON.
for link in data.links:
  urllib.url_retrive(link, "/var/opt")

【讨论】:

  • 我得到了这部分,但我主要关心的是我在那个 json body url 上有 100 个视频,如何解析它而不是传递 100 urllib.url_retrive
  • @Jecki 首先,加载下载的 JSON 并解析它。只有这样你才能开始循环文件并下载它们。
  • 这对我有很大帮助,我不能从这里获取它并构建其余的代码。
  • @Jecki urllib.url_retrieve 是您的下载功能。如果要下载 100 个文件,则必须调用它 100 次。 (对不起,我第一次没有得到你)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多