Как скачать Reddit видео с помощью Python Selenium - PullRequest
0 голосов
/ 23 января 2019

Я могу скачать видео, зайдя в сетевую панель в инструментах разработчика.Но как мне это сделать с питоном + селен?

1 Ответ

0 голосов
/ 23 января 2019

Вам необходимо получить URL-адрес, где находится файл, и использовать requests, чтобы загрузить и записать его в файл.как-то так

import requests

... <selnium code to parse web page>

def save_vid(name=None, url=None):
    if not name:
        name = 'video.mp4'

    user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'
    response  = requests.get(url, headers={'User-Agent': user_agent})

    with open(name, 'wb') as f:
        print ("Donloading chunck")
        for chunk in response.iter_content(chunk_size=255): 
            if chunk:
                f.write(chunk)
    print("Done")

Обновление:

специально для Reddit, получил источник видео,

<video poster="https://external-preview.redd.it/lrJKPYDzKs2SYt2rc0ig4hipMuD4JNPn24fjrV3NMLQ.png?width=960&amp;crop=smart&amp;format=pjpg&amp;auto=webp&amp;s=44e72857f61ea62d7a447a9246961aeb3ae0322d" muted="" preload="auto" class="HTML5StreamPlayer__video__regular" src="blob:https://www.reddit.com/dbfa2e9f-07da-4bc3-b258-d12ba9c4ca67">
 --> <source src="https://v.redd.it/l67upl0tug921/HLSPlaylist.m3u8" type="application/vnd.apple.mpegURL">
</video>

получить идентификатор видео

с src="https://v.redd.it/l67upl0tug921/HLSPlaylist.m3u8, ID = l67upl0tug921

размещенное видео https://v.redd.it/l67upl0tug921/DASH_4_8_M

Используйте функцию выше для загрузки.

Примечание: обязательно используйте пользовательский агент в запросе + 1 секунда задержки для ботов (согласно reddit)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...