|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Вытащить описание с Youtube |
|
|
PowerShell - [решено] Вытащить описание с Youtube
|
fascinating rhythm Сообщения: 6483 |
Профиль | Отправить PM | Цитировать Привет!
Собственно, сабж. Есть ролик, под ним описание. Как Invoke-WebRequest или PowerHTML может вытащить этот текст с сайта? И главный вопрос - как можно научиться, в каком направлении искать? Тот же Invoke-WebRequest выдаёт 100500 методов: Положим, я в Файрфоксе нашёл нужный кусок: <div id="description" slot="content" class="style-scope ytd-video-secondary-info-renderer"><yt-formatted-string class="content style-scope ytd-video-secondary-info-renderer" force-default-style="" split-lines=""><span dir="auto" class="style-scope yt-formatted-string">Don't know what its actual name is, so I just threw every word into this video's title and hoped that something stuck. </span><a class="yt-simple-endpoint style-scope yt-formatted-string" spellcheck="false" href="/watch?v=HZTStHzWRxM&t=0s" dir="auto">0:00</a><span dir="auto" class="style-scope yt-formatted-string"> - The new feature </span><a class="yt-simple-endpoint style-scope yt-formatted-string" spellcheck="false" href="/watch?v=HZTStHzWRxM&t=17s" dir="auto">0:17</a><span dir="auto" class="style-scope yt-formatted-string"> - Slow roll-out </span><a class="yt-simple-endpoint style-scope yt-formatted-string" spellcheck="false" href="/watch?v=HZTStHzWRxM&t=76s" dir="auto">1:16</a><span dir="auto" class="style-scope yt-formatted-string"> - How it works </span><a class="yt-simple-endpoint style-scope yt-formatted-string" spellcheck="false" href="/watch?v=HZTStHzWRxM&t=124s" dir="auto">2:04</a><span dir="auto" class="style-scope yt-formatted-string"> - Problems / suggestions for the future</span></yt-formatted-string></div> |
|
------- Отправлено: 16:18, 03-08-2020 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
|
|
Отправлено: 17:04, 03-08-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
|
|
Отправлено: 19:20, 03-08-2020 | #3 |
fascinating rhythm Сообщения: 6483
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 21:06, 03-08-2020 | #4 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Такое "направление" называется Document Object Model - DOM.
|
|
Отправлено: 22:54, 03-08-2020 | #5 |
Deadooshka Сообщения: 2481
|
Профиль | Отправить PM | Цитировать 1. у них есть API по ключу, откуда можно взять JSON или XML.
2. DOM динамический, такого span в сыром ответе нету. 3. Есть вариант вытащить JSON и взять оттуда. if ((Invoke-WebRequest 'https://www.youtube.com/watch?v=HZTStHzWRxM' ).Content -match 'ytplayer\.config = ({.+?});') { (($matches[1] | ConvertFrom-Json).args.player_response | ConvertFrom-Json).videoDetails.shortDescription } $youtube_video_id = 'HZTStHzWRxM' $query_string = Invoke-WebRequest "https://www.youtube.com/get_video_info?video_id=${youtube_video_id}" Add-Type -AssemblyName 'System.Web' ([System.Web.HttpUtility]::ParseQueryString($query_string).Get('player_response') | ConvertFrom-Json).videoDetails.shortDescription |
Последний раз редактировалось Sham, 04-08-2020 в 14:39. Отправлено: 02:13, 04-08-2020 | #6 |
Старожил Сообщения: 216
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
|
|
Отправлено: 09:00, 04-08-2020 | #7 |
Crazy Сообщения: 1167
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
Можно, конечно, попытаться даже парсить скрипты, но там есть только это (что можно распарсить с xpath, через PowerHTML): <meta name="description" content="Don't know what its actual name is, so I just threw every word into this video's title and hoped that something stuck. 0:00 - The new feature 0:17 - Slow rol..."> |
|
------- Последний раз редактировалось YuS_2, 05-08-2020 в 22:39. Отправлено: 22:25, 05-08-2020 | #8 |
Новый участник Сообщения: 44
|
Профиль | Отправить PM | Цитировать Я не настоящий сварщик но я бы скачал бы при помощи youtube-dl json с описанием. А потом из json получил бы что нужно. Ютуб время от времени меняет дизайн страниц и если юзать youtube-dl то не придётся вручную переписывать код. Достаточно обновить youtube-dl.
|
Отправлено: 17:40, 09-08-2020 | #9 |
fascinating rhythm Сообщения: 6483
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 22:25, 17-08-2020 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - PHP | вытащить XML | Darkar25 | Программирование и базы данных | 11 | 10-08-2018 09:22 | |
Suse/OpenSuSE - Срочно! RAID вытащить данные. | Spaser | Общий по Linux | 20 | 13-07-2015 15:50 | |
YouTube официально анонсировал планы на "YouTube TV" | OSZone News | Новости информационных технологий | 0 | 29-10-2011 16:30 | |
[решено] Как работать с программами: Free YouTube Downoload,Free YouTube Utility | tomich | Видео и аудио: обработка и кодирование | 4 | 18-05-2010 13:41 | |
Восстановление - Вытащить пароль | Murder7 | Программное обеспечение Windows | 2 | 08-03-2010 23:57 |
|