Я пытаюсь изучить веб-соскабливание с использованием python и практиковаться сейчас с загрузкой эпизодов определенного спектакля (Anna Olson's bake - http://www.foodnetwork.ca/shows/bake-with-anna-olson/episode-guide/), который транслируется с сайта. Глядя на сетевой трафик Firebug, я обнаружил, что каждый эпизод загружается небольшими сегментами и начинается с файла m3u8. Я написал код для загрузки файлов m3u8, затем откройте каждый из них в виде текстового файла и откройте и сохраните каждый сегмент в файл mp4. После этого я получил полноразмерные видеофайлы (~ 144 МБ), но когда я их открываю, они не играют, хотя игрок говорит, что у них есть продолжительность.Загрузка видеороликов из ссылок m3u8
Вот часть кода, который открывает каждый текстовый файл, загружает URLs из тэ файла и сохраняет их в файл mp4 с тем же именем
import requests
import os
from os.path import isfile, join
folder = r"C:\food\videos\Bake"
files=[f for f in os.listdir(folder) if isfile(join(folder,f))]
for episode in files:
fepisode = open(join(folder,episode), 'r')
urls = [link for link in fepisode.readlines() if link.startswith("http:")]
video_file = open(join(folder,episode.replace("txt","mp4")), "wb")
for url in urls:
video_link = requests.get(url)
if video_link.status_code ==200:
for chunk in video_link.iter_content(100):
video_file.write(chunk)
video_file.close()
Вот ссылка образец одного из m3u8 файлы:
Я пытаюсь понять, чего не хватает, что требуется, чтобы иметь видео игры. Thanks
сегменты не mp4, они тс. – szatmary
Я знаю. Сначала я попытался сохранить все это как .ts, но это не изменило ситуацию. – Amos