Как я могу получить название YouTube видео на странице поиска - PullRequest
0 голосов
/ 02 апреля 2019

Я могу получить всю информацию о видео на Youtube / watch? V = videolink, но я хочу получить ссылку и заголовок с Youtube / results? Страница поискового запроса.

webCommandMetadata":{"url":"/watch?v=VIDEOID"} 

Я получил URL-адрес видео с этим регулярным выражением "/\/watch\?v=(.*?)[&\"]/i"

Output:VIDEOID

но я не могу получить титул в

title":{"accessibility":{"accessibilityData":{"label":"#VIDEOTITLE"

потому что в источнике так много ярлыков. Можно ли переопределить все это из заголовка в: "и вывести как #VIDEOTITLE? Или другим способом получить это?

1 Ответ

0 голосов
/ 02 апреля 2019

Лучшим решением для получения результатов поиска с YouTube будет API данных YouTube

(из документов API данных YouTube)
Сначала получите результаты, а затем вы можете получить название для каждого видео

$searchResponse = $youtube->search->listSearch('id,snippet', array(
      'q' => $_GET['q'],
      'maxResults' => $_GET['maxResults'],
));

// Add each result to the appropriate list, and then display the lists of
// matching videos, channels, and playlists.
    foreach ($searchResponse['items'] as $searchResult) {
      switch ($searchResult['id']['kind']) {
        case 'youtube#video':
          $videos .= sprintf('<li>%s (%s)</li>',
              $searchResult['snippet']['title'], $searchResult['id']['videoId']);
          break;
        case 'youtube#channel':
          $channels .= sprintf('<li>%s (%s)</li>',
              $searchResult['snippet']['title'], $searchResult['id']['channelId']);
          break;
        case 'youtube#playlist':
          $playlists .= sprintf('<li>%s (%s)</li>',
              $searchResult['snippet']['title'], $searchResult['id']['playlistId']);
          break;
      }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...