从 YouTube 搜索查询中返回 URL 作为列表 [关闭]

Posted

技术标签:

【中文标题】从 YouTube 搜索查询中返回 URL 作为列表 [关闭]【英文标题】:Returning the URL's as a list from a YouTube search query [closed] 【发布时间】:2015-05-18 03:09:32 【问题描述】:

如何创建一个包含来自普通 YouTube 文本搜索的视频 URL 的列表?

【问题讨论】:

你也看过这里的文档:developers.google.com/youtube/v3/code_samples/… ? 【参考方案1】:

我为您编写了一个快速脚本来执行此操作。将 textToSearch 替换为您的查询。它使用urllib从YouTube结果的第一页提取结果,并通过使用BeautifulSoup解析页面来打印视频的所有链接。如果您有任何问题,请告诉我。

import urllib.request
from bs4 import BeautifulSoup

textToSearch = 'hello world'
query = urllib.parse.quote(textToSearch)
url = "https://www.youtube.com/results?search_query=" + query
response = urllib.request.urlopen(url)
html = response.read()
soup = BeautifulSoup(html, 'html.parser')
for vid in soup.findAll(attrs='class':'yt-uix-tile-link'):
    print('https://www.youtube.com' + vid['href'])

这给出了输出:

https://www.youtube.com/watch?v=al2DFQEZl4M
https://www.youtube.com/watch?v=pRKqlw0DaDI
...
https://www.youtube.com/watch?v=9sQEQkMDBjw

【讨论】:

很棒的脚本。另外,我建议在for vid ... 之后添加:if not vid['href'].startswith("https://googleads.g.doubleclick.net/"): urllib2 也有引用功能。您可以直接将响应传递给 BeautifulSoup 那个脚本对我很有用!我正在使用它与 vlc 'http 流'。该脚本给出前 20 个结果。你知道怎么能超过20吗?谢谢!

以上是关于从 YouTube 搜索查询中返回 URL 作为列表 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

youtube 搜索没有获取 URLS

从数据库中查出两列数据,返回的是一个hashmap,怎么把其中的一列作为显示值一列作为value,数据库是oracle

Youtube API v3 搜索视频、检索标题和 url

如何从 MySQL 返回整数和数字列作为 PHP 中的整数和数字?

正则表达式从 youtube/vimeo url 中提取域和视频 ID

如何将 JSON 返回数据作为参数传递给 URL 路由(laravel)