我正在使用YouTubes API从音乐视频列表中获取评论数据。我现在的工作方式是手动输入查询内容,然后将数据写入csv文件,然后对每首歌曲重复这样的操作。
query = "song title"
query_results = service.search().list(
part = 'snippet',
q = query,
order = 'relevance', # You can consider using viewCount
maxResults = 20,
type = 'video', # Channels might appear in search results
relevanceLanguage = 'en',
safeSearch = 'moderate',
).execute()
我想做的是使用包含要为其收集数据的歌曲标题的csv文件中的title和artist列,这样我可以运行一次该程序而不必手动键入每首歌曲时间。
一个朋友建议使用这样的东西
import pandas as pd
data = pd.read_csv("metadata.csv")
def songtitle():
for i in data.index:
title = data.loc[i,'title']
title = '\"' + title + '\"'
artist = data.loc[i,'artist']
return(artist, title)
但是我不确定如何使它工作,因为当我运行它时,它仅返回最后一行数据,即使它运行正确,我也将如何处理使整个程序自我重复每首新歌。
答案 0 :(得分:0)
您可以将歌曲标题和歌手保存到列表中,然后在列表上循环以获取详细信息。
def get_songTitles():
data = pd.read_csv("metadata.csv")
return data['artist'].tolist(),data['title'].tolist()
artist, song_titles = get_songTitles()
for song in song_titles:
query_results = service.search().list(
part = 'snippet',
q = song,
order = 'relevance', # You can consider using viewCount
maxResults = 20,
type = 'video', # Channels might appear in search results
relevanceLanguage = 'en',
safeSearch = 'moderate',
).execute()