Я пытался изучить веб-скрапинг с помощью python и сейчас практикуюсь, загружая эпизоды определенного кулинарного шоу (выпечка Анны Олсон - http://www.foodnetwork.ca/shows/bake-with-anna-olson/episode-guide/), который транслируется с их сайта. . Глядя на сетевой трафик Firebug, я обнаружил, что каждый эпизод загружается небольшими сегментами и начинается с файла m3u8. Я написал некоторый код для загрузки файлов m3u8, затем открывал каждый из них как текстовый файл, открывал и сохранял каждый сегмент в файл mp4. После этого я получил полноразмерные видеофайлы (~ 144 МБ), но когда я их открываю, они не воспроизводятся, хотя плеер говорит, что у них есть продолжительность.
Вот часть кода, которая открывает каждый текстовый файл, загружает URL-адреса из файла и сохраняет их в файл 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:
Я пытаюсь понять, чего не хватает для воспроизведения видео. Спасибо