首页 > 解决方案 > searchtweets API 中的关键错误

问题描述

我是searchtweetsAPI 新手,在执行代码时遇到关键错误,如下所示。

我的代码:

from searchtweets import collect_results,ResultStream, gen_rule_payload, 
load_credentials
premium_search_args = load_credentials("E:\\residency_5\\practicum\\twitter_keys.yaml",yaml_key="search_tweets_premium",env_overwrite=False)

我的 Yaml 文件:

search_tweets_api:
  account_type: premium
  endpoint: https://api.twitter.com/1.1/tweets/search/30day/dev.json
  consumer_key: wgjwneglwegkweglkew
  consumer_secret: rglknrgkrwrerherhrehreh

我得到的错误是:

KeyError                                  Traceback (most recent call last)
<ipython-input-18-a65d7e772e67> in <module>()
----> 1 premium_search_args = load_credentials("E:\\residency_5\\practicum\\twitter_keys.yaml",yaml_key="search_tweets_premium",env_overwrite=False)

C:\Users\Srivatsav\Anaconda3\lib\site-packages\searchtweets\credentials.py in load_credentials(filename, account_type, yaml_key, env_overwrite)
    184                    if env_overwrite
    185                    else merge_dicts(env_vars, yaml_vars))
--> 186     parsed_vars = _parse_credentials(merged_vars, account_type=account_type)
    187     return parsed_vars
    188 

C:\Users\Srivatsav\Anaconda3\lib\site-packages\searchtweets\credentials.py in _parse_credentials(search_creds, account_type)
     80         """
     81         logger.error(msg)
---> 82         raise KeyError
     83 
     84     try:

KeyError: 

我怎样才能解决这个问题。我的 yaml 文件有问题吗?提前致谢

标签: pythontwitterkeyerror

解决方案


你有 a 的原因KeyError是你想在yaml文件中找到的键不存在与你在 python 代码中提到的同名。您正在请求yaml_key="search_tweets_premium"这意味着yaml文件具有名称的密钥,search_tweets_premium但在文件中找不到此密钥yaml

yaml文件中的密钥search_tweets_api不是search_tweets_premium. 更正yaml文件中的密钥或 python 代码,使它们都相同,并且您的代码应该可以正常工作。


推荐阅读