Twitter API 查询标签
Twitter API query hashtag
我正在尝试使用 Twitter api.
收集具有特定主题标签的推文数据
我使用下面的 python 代码。
https://github.com/twitterdev/Twitter-API-v2-sample-code/blob/master/Recent-Search/recent_search.py
看起来确实有效。
但是,当我将第 14 行从
query = "from:twitterdev -is:retweet"
至
query = "#apple"
它不再起作用了。
错误信息如下。
Exception: (400, '{"errors":[{"parameters":{"query":[""]},"message":"Invalid \'query\':\'\'. \'query\' must be a non-empty string"}],"title":"Invalid Request","detail":"One or more parameters to your request was invalid.","type":"https://api.twitter.com/2/problems/invalid-request"}')
好像和#有关。我该如何解决这个问题?
很难解决这里可能发生的问题。几个建议。
- 查看 this page。
- 在第 39 行中,再次从
response.json()
和 运行 代码中删除 .json()
。完成后,您可以在 Python. 的交互式命令行中对代码进行故障排除
要清楚,请转到您的终端,输入 Python,然后一一加载您的函数(main()
除外)。然后逐行浏览 main()
代码中的代码。在你 运行 json_response = connect_to_endpoint(url, headers)
你应该仍然得到一个错误,但是,你可以使用 response.request
对象中的对象来查看发生了什么。比如做完以上然后运行ning...
response = connect_to_endpoint(url, headers)
...然后您可以执行 response.request.url
以打印发送到 Twitter 的完整 URL 并将其与 Building 查询中找到的形式进行比较 上面链接的页面。
查看第二个答案 here 以获得可用内容的详细列表。您也可以(在 运行ning response = connect_to_endpoint(url, headers)
之后)简单地在您的终端中键入 response.request.
(包括两个句点),然后按几次 shift
键来创建您的终端打印这些选项。
尝试:
query = "%23apple"
在Twitter的示例代码中,变量query
被用作URL的参数。 URL 的参数中不允许使用某些字符(如 /
、?
、#
等)。
URLhttps://api.twitter.com/2/tweets/search/recent?query=#apple
无效。
%23
是#的编码值。 URL 将如下所示:https://api.twitter.com/2/tweets/search/recent?query=%23apple
.
推特 API 然后可以 %23
翻译回 #
。
我正在尝试使用 Twitter api.
收集具有特定主题标签的推文数据我使用下面的 python 代码。
https://github.com/twitterdev/Twitter-API-v2-sample-code/blob/master/Recent-Search/recent_search.py
看起来确实有效。
但是,当我将第 14 行从
query = "from:twitterdev -is:retweet"
至
query = "#apple"
它不再起作用了。 错误信息如下。
Exception: (400, '{"errors":[{"parameters":{"query":[""]},"message":"Invalid \'query\':\'\'. \'query\' must be a non-empty string"}],"title":"Invalid Request","detail":"One or more parameters to your request was invalid.","type":"https://api.twitter.com/2/problems/invalid-request"}')
好像和#有关。我该如何解决这个问题?
很难解决这里可能发生的问题。几个建议。
- 查看 this page。
- 在第 39 行中,再次从
response.json()
和 运行 代码中删除.json()
。完成后,您可以在 Python. 的交互式命令行中对代码进行故障排除
要清楚,请转到您的终端,输入 Python,然后一一加载您的函数(main()
除外)。然后逐行浏览 main()
代码中的代码。在你 运行 json_response = connect_to_endpoint(url, headers)
你应该仍然得到一个错误,但是,你可以使用 response.request
对象中的对象来查看发生了什么。比如做完以上然后运行ning...
response = connect_to_endpoint(url, headers)
...然后您可以执行 response.request.url
以打印发送到 Twitter 的完整 URL 并将其与 Building 查询中找到的形式进行比较 上面链接的页面。
查看第二个答案 here 以获得可用内容的详细列表。您也可以(在 运行ning response = connect_to_endpoint(url, headers)
之后)简单地在您的终端中键入 response.request.
(包括两个句点),然后按几次 shift
键来创建您的终端打印这些选项。
尝试:
query = "%23apple"
在Twitter的示例代码中,变量query
被用作URL的参数。 URL 的参数中不允许使用某些字符(如 /
、?
、#
等)。
URLhttps://api.twitter.com/2/tweets/search/recent?query=#apple
无效。
%23
是#的编码值。 URL 将如下所示:https://api.twitter.com/2/tweets/search/recent?query=%23apple
.
推特 API 然后可以 %23
翻译回 #
。