微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何用 6 个连接词搜索 PyTrends?获取错误列表索引超出范围

如何解决如何用 6 个连接词搜索 PyTrends?获取错误列表索引超出范围

以下是用于使用 PyTrends 搜索 Google 趋势的函数

def my_funct(Keyword,Dates,Country,Col_name):
    KEYWORDS=[Keyword] 
    KEYWORDS_CODES=[pytrend.suggestions(keyword=i)[0] for i in KEYWORDS] 
    df_CODES= pd.DataFrame(KEYWORDS_CODES)
    
    EXACT_KEYWORDS=df_CODES['mid'].to_list()
    
    DATE_INTERVAL= Dates
    COUNTRY=[Country] #Use this link for iso country code
    CATEGORY=0 # Use this link to select categories
    SEARCH_TYPE='' #default is 'web searches',others include 'images','news','youtube','froogle' (google shopping)


    Individual_EXACT_KEYWORD = list(zip(*[iter(EXACT_KEYWORDS)]*1))
    Individual_EXACT_KEYWORD = [list(x) for x in Individual_EXACT_KEYWORD]
    dicti = {}
    i = 1

    for Country in COUNTRY:
        for keyword in Individual_EXACT_KEYWORD:
            try:
                pytrend.build_payload(kw_list=keyword,timeframe = DATE_INTERVAL,geo = Country,cat = CATEGORY,gprop = SEARCH_TYPE) 
                dicti[i] = pytrend.interest_over_time()
                i+=1
                time.sleep(9)
                print(dicti)
                
            except requests.exceptions.Timeout:
                    print("Timeout occured")
        
    df_trends = pd.concat(dicti,axis=1)


    df_trends.columns = df_trends.columns.droplevel(0) #drop outside header
    df_trends = df_trends.drop('isPartial',axis = 1) #drop "isPartial"
    df_trends.reset_index(level=0,inplace=True) #reset_index
    df_trends.columns=['date',Col_name] #change column names
  

    return df_trends

这是执行该函数搜索 6 个关键字(6 个连接在一起的单词)的代码

df_merged3 = excelConcatFunct("a-kasse + akasse+arbejdsformidling + arbejdsformidlinger + dagpenge + dagpengeperiode",'DK','DANISH search terms')

在此之前还有另一个代码可以完成这项工作,但这与问题无关,只是合并多个 dataframes

基本上,当我有一个a-kasse 这样的词时,代码运行良好,但是当我使用多个串联字符串时,它会抛出“列表索引超出范围”错误

通过谷歌趋势网站可以正常工作:

enter image description here

知道为什么这不起作用并且抛出列表索引超出范围错误吗?

请帮忙 谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。