如何从YouTube频道grep网址

时间:2016-11-18 22:10:14

标签: curl youtube grep lynx

我研究过最聪明的方法是使用API​​但是在使用cURL时 可以在输出中找到所有必需的信息,但它有点乱。

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'"'

这项工作是否有效,但我认为并非如此。

2 个答案:

答案 0 :(得分:1)

使用curl https://www.youtube.com/user/HowdiniGuru/videos | grep -oh "/watch?v[^\"*]\+"仅匹配/watch...部分。

答案 1 :(得分:1)

cURL不适合这项工作:

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

Example