Откройте первое видео с помощью поиска в YouTube, используя Python - PullRequest
3 голосов
/ 10 апреля 2020

Я пробую это и не знаю, как открыть первое видео. Этот код открывает поиск в браузере.

import webbrowser

def findYT(search):
    words = search.split()

    link = "http://www.youtube.com/results?search_query="

    for i in words:
        link += i + "+"

    time.sleep(1)
    webbrowser.open_new(link[:-1])

При этом успешно выполняется поиск видео, но как открыть первый результат?

Ответы [ 2 ]

3 голосов
/ 10 апреля 2020

Наиболее распространенным подходом будет использование двух очень популярных библиотек: requests и BeautifulSoup. requests для получения страницы и BeautifulSoup для ее анализа.

import requests
from bs4 import BeautifulSoup

import webbrowser

def findYT(search):
    words = search.split()

    search_link = "http://www.youtube.com/results?search_query=" + '+'.join(words)
    search_result = requests.get(search_link).text
    soup = BeautifulSoup(search_result, 'html.parser')
    videos = soup.select(".yt-uix-tile-link")
    if not videos:
        raise KeyError("No video found")
    link = "https://www.youtube.com" + videos[0]["href"]

    webbrowser.open_new(link)

Обратите внимание, что рекомендуется не использовать прописные буквы в python при именовании переменных.

1 голос
/ 10 апреля 2020

Чтобы сделать это, вам нужно создать веб-ленту. Python не может видеть, что на вашем экране. Вы должны создать веб-страницу поиска, которую вы ищете, и затем вы можете открыть первый <a>, который появляется, например. ('' является URL-тегом в html)

Вещи, необходимые для этого:

  • BeautifulSoup или селен, например
  • запросы

Это должно быть все, что вам нужно, чтобы делать то, что вы хотите.

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