搜索推文中的关键错误 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 代码中的密钥,使它们相同,您的代码应该可以正常工作。
我是 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 代码中的密钥,使它们相同,您的代码应该可以正常工作。