搜索推文中的关键错误 API

key error in searchtweets API

我是 searchtweets API 的新手,在执行如下代码时出现关键错误。

我的代码:

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文件有问题吗?提前致谢

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

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