2013-06-11 17 views
1

我正在使用python,我希望使用YouTube API獲取視頻聲明列表,並使用我的YouTube開發人員密鑰和gdata查看計數。這可能嗎?使用Youtube API獲取視頻列表並通過開發人員使用gdata查看計數

+0

是。你寫了什麼代碼?你有沒有看過API參考呢? https://developers.google.com/youtube/v3/code_samples/python#topics –

+0

@IkaiLan我有代碼從視頻ID從YouTube獲取視頻信息。我確實看過它,但我不確定哪個部分獲得了視頻列表以及所有變量/選項是關於什麼。它是youtube_search功能嗎? – user1998511

回答

0

我想我的未經編輯的代碼將適用於您的應用程序。

代碼:

import requests 
import json 
import pandas 

key = "xxx" 
url = "https://www.googleapis.com/youtube/v3/search?part=snippet&order=viewCount&publishedAfter=2015-06-08T00%3A00%3A00Z&key="+key+\ 
"&type=video&maxResults=50&relevanceLanguage=en&videoDuration=short&videoCategoryId=15,18,23,44" 
content = json.loads(requests.get(url).text) 

def get_youtoube_content(content): 
    id = [] 
    kind=[] 
    description = [] 
    title = [] 
    time =[] 
    for i in content["items"]: 
     a=i["id"] 
     b=i["snippet"] 
     id.append(a["videoId"]) 
     kind.append(a["kind"]) 
     description.append(b["description"]) 
     title.append(b["title"]) 
     time.append(b["publishedAt"]) 
    data = pandas.DataFrame({"id":id, "type":kind,"description":description ,"title":title,"time":time }) 
    return(data) 

data=get_youtoube_content(content) 
stat_url="https://www.googleapis.com/youtube/v3/videos?part=statistics&key="+key+"&maxResults=50&id="+str(list(data["id"])).replace("[","").replace("]","").replace("'","") 
stat_content = json.loads(requests.get(stat_url).text) 

def get_youtoube_content_stat(content): 
    id = [] 
    commentCount=[] 
    dislikeCount = [] 
    favoriteCount = [] 
    likeCount=[] 
    viewCount=[] 
    for i in content["items"]: 
     id.append(i["id"]) 
     b=i["statistics"] 
     commentCount.append(b["commentCount"]) 
     dislikeCount.append(b["dislikeCount"]) 
     favoriteCount.append(b["favoriteCount"]) 
     likeCount.append(b["likeCount"]) 
     viewCount.append(b["viewCount"]) 
    data = pandas.DataFrame({"id":id, "commentCount":commentCount,"dislikeCount":dislikeCount ,"favoriteCount":favoriteCount,"likeCount":likeCount, "viewCount":viewCount }) 
    return(data) 

data_stat=get_youtoube_content_stat(stat_content) 

data=pandas.merge(data, data_stat,"inner", on="id") 
+0

嗨,你可以解釋一下你在哪裏提到你正在檢索哪些視頻信息? –

相關問題