Я использую youtube-dl для загрузки видео Facebook, передавая URL видео. Когда Facebook воспроизводит видео, он показывает список видео, которые будут воспроизводиться следующими. Возможно ли использовать youtube-dl для автоматической загрузки всех этих видео?
решение1
На данный момент это невозможно.
«Официальный» плейлист на Facebook создается владельцем видео (см., например, раздел плейлистов на FACEBOOK/facebook/videos), и он может поделиться им в виде ссылки, однако определённого формата не существует.
Видеоролики в одном плейлисте могут иметь одинаковый префикс в URL.
ФЕЙСБУК/facebook/videos/vl.515712155263726/10154651089866729/
ФЕЙСБУК/facebook/videos/vl.515712155263726/10154597969851729/
Однако официальной ссылки на такой список (id vl.515712155263726) нет.
Когда вы просматриваете видео напрямую, это зависит от ссылки, например, то же самое видео, если вы посещаете его как
ФЕЙСБУК/видео.php?v=10154651089866729
и
ФЕЙСБУК/facebook/videos/vl.515712155263726/10154651089866729/
даст вам другое следующее видео (которое вы могли бы считать следующим элементом в «вашем» текущем плейлисте).
Исходный код youtube-dl также не содержит информации о поддержке плейлиста Facebook на данный момент (см.https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/facebook.py).
Так что вам не повезло.
Примечание:ЗаменятьФЕЙСБУКс актуальной ссылкой на сайт.
решение2
Я не уверен в этом, но вот хороший способ. Создайте свой плейлист и скачивайте все за раз.
если вы используете ОС Windows. Выполните следующие шаги.
- Перейдите к любому видео и щелкните правой кнопкой мыши по нему. Скопируйте URL-адрес видео. 2. Откройте блокнот и вставьте этот URL-адрес.
- по одному вставьте URL-адрес видео и создайте плейлист в своем блокноте.
- и сохраните его под именем.
- И выполнить команду
youtube-dl --batch-file=yourfile.txt
Пример:
Я создал папку you-dl. А внутри you-dl — блокнот, содержащий список URL. И назвал его downme.txt
затем перейдите в эту папку (you-dl) и выполните командуyoutube-dl --batch-file=downme.txt
решение3
Чтобы загрузить плейлист, просто добавьте следующий параметр
--yes-playlist
вот и все, привет
решение4
На странице руководства указано:
--playlist-start НОМЕР видео плейлиста, с которого нужно начать (по умолчанию 1)
--playlist-end НОМЕР видео в плейлисте, на котором нужно закончить (по умолчанию последний)
Может быть, вы сможете что-то с этим сделать. Я не знаю, подходят ли они только для YouTube, и, к сожалению, я не могу протестировать их для Facebook.
Альтернативой может стать создание скрипта для загрузки вашего плейлиста: я сделал нечто подобное для плейлистов YouTube, однако вам нужно ввести URL-адрес плейлиста.
Создать такой скрипт (для Youtube) в пакетном режиме легко: wget получает страницу плейлиста, затем grep ссылки на видео, использует wc для получения ссылок без тегов HTML, а затем передает результат в youtube-dl.
Вам, вероятно, нужно будет сделать что-то подобное для плейлистов Facebook. Есть ли плейлист, где хранятся эти видео? Если это просто предложение, это может быть сложнее сделать.