在Python中使用YouTube API按相关性排序
我一直在尝试用python创建YouTube排名检查器。它的想法是在YouTube上搜索关键词并检查视频的位置 唯一的问题是它没有返回准确的结果。例如,如果我搜索“狗视频”,当我使用普通网站搜索时,我的视频是位置3,API将其返回为位置17。我想这可能是因为它对结果进行了不同的排序(应该是按相关性排序),但我不知道如何把握排序顺序 如果有人能提供任何帮助,即使只是在我的代码中指出一些明显的东西,我将非常感激,提前感谢您的帮助 这是我的密码:在Python中使用YouTube API按相关性排序,python,api,youtube,rank,Python,Api,Youtube,Rank,我一直在尝试用python创建YouTube排名检查器。它的想法是在YouTube上搜索关键词并检查视频的位置 唯一的问题是它没有返回准确的结果。例如,如果我搜索“狗视频”,当我使用普通网站搜索时,我的视频是位置3,API将其返回为位置17。我想这可能是因为它对结果进行了不同的排序(应该是按相关性排序),但我不知道如何把握排序顺序 如果有人能提供任何帮助,即使只是在我的代码中指出一些明显的东西,我将非常感激,提前感谢您的帮助 这是我的密码: from apiclient.discovery im
from apiclient.discovery import build
from optparse import OptionParser
import time
# Set DEVELOPER_KEY to the "API key" value from the "Access" tab of the
# Google APIs Console http://code.google.com/apis/console#access
# Please ensure that you have enabled the YouTube Data API for your project.
DEVELOPER_KEY = "devkey"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
videos = []
channels = []
playlists = []
videoids = []
videoidskeys = {"cat video":"ZBAGEeOms-8", "dog video":"nGeKSiCQkPw", "testing video":"GAyni_fKKLg"}
videokeys = videoidskeys.keys()
def checkrank(videoid, keyword):
time.sleep(6)
if __name__ == "__main__":
parser = OptionParser()
parser.add_option("--q", dest="q", help="Search term",
default=keyword)
parser.add_option("--max-results", dest="maxResults",
help="Max results", default=25)
(options, args) = parser.parse_args()
youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
developerKey=DEVELOPER_KEY)
search_response = youtube.search().list(
q=options.q,
part="id,snippet",
maxResults=options.maxResults,
).execute()
for search_result in search_response.get("items", []):
videoids.append(search_result["id"]["videoId"])
count = 0
for videoid1 in videoids:
count = count+1
if videoid1 == videoid:
return "Keyword: %s - Rank: %s" % (keyword, count)
count = 0
for video in videokeys:
print checkrank(videoidskeys[video],video)
弄明白了,下面是工作代码,以防有人需要它: 此外,如果您登录,YouTube会对结果进行个性化设置,因此在检查准确性时一定要注销