2016-11-18 2 views
1

Поскольку я изучил самый умный способ использования API, но при использовании cURL I может найти всю необходимую информацию на выходе, но ее немного беспорядочно.Как использовать URL-адреса grep с канала YouTube

curl https://www.youtube.com/user/HowdiniGuru/videos | grep "watch?" 

возвращает все необходимые блоки, которые содержат ссылки на видео:

<h3 class="yt-lockup-title "><a class="yt-uix-sessionlink yt-uix-tile-link spf-link yt-ui-ellipsis yt-ui-ellipsis-2" dir="ltr" title="Breaking: MLA Sarwan Singh Phillaur resigned from SAD" aria-describedby="description-id-18618" data-sessionlink="ei=fHsvWKztM8OouALZlJ24Cg&amp;feature=c4-videos-u&amp;ved=CDkQlx4iEwism5ewqLPQAhVDFE4KHVlKB6comxw" href="**/watch?v=fDqv1-kYGPI**">Breaking: MLA Sarwan Singh Phillaur resigned from SAD</a><span class="accessible-description" id="description-id-18618"> - Duration: 43 seconds.</span></h3> 

Но возникли трудности, чтобы иметь только/смотреть? частей для выхода на выход.

curl https://www.youtube.com/user/HowdiniGuru/videos | grep "watch?" | cut -f4 -d"=" | grep class | cut -f1 -d'"' 

Работает ли она, но она не очень эффективна, как я могу себе представить.

ответ

1

Curl не является правильным инструментом для этой работы:

lynx -dump -listonly -nonumbers https://www.youtube.com/user/HowdiniGuru/videos | 
grep watch 

Example

+1

Работал как шарм. – Andy

1

Используйте curl https://www.youtube.com/user/HowdiniGuru/videos | grep -oh "/watch?v[^\"*]\+" для соответствия только /watch....

+0

локон Http: // youtubeurl | grep -oh "/ watch [^ *] \ +" все еще возвращает много кода – Andy

+0

Я обновил свое выражение, чтобы лучше совместить ссылки. – Alden

Смежные вопросы