运行 YouTube 上的多个查询 API 通过循环浏览 CSV 的标题列 python

Running multiple querys on YouTube API by looping through title columns of CSV python

我正在使用 YouTube 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 文件中的标题和艺术家列,该文件包含我正在尝试为其收集数据的歌曲标题,这样我就可以 运行 该程序一次而不必每次手动输入歌曲。

朋友建议使用这样的东西

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)

但我不确定我将如何完成这项工作,因为当我 运行 这样做时,它只返回最后一行数据,即使它 运行 正确,我如何将处理让整个程序为新歌曲的每个实例重复它自己。

您可以将歌曲名称和艺术家保存到列表中,循环遍历该列表以获取详细信息。

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()