首页 > 解决方案 > Twitter API 查询标签

问题描述

我正在尝试使用 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"}')

这似乎与#有关。我怎样才能解决这个问题?

标签: pythonapitwitter

解决方案


尝试:

query = "%23apple"

在 Twitter 的示例代码中,该变量query用作 URL 的参数。URL 的参数中不允许使用某些字符(如/?#)。

网址https://api.twitter.com/2/tweets/search/recent?query=#apple无效。 %23是#的编码值。URL 将如下所示:https://api.twitter.com/2/tweets/search/recent?query=%23apple

然后 Twitter API 可以%23转换回#.

这是一个深入的解释:https ://www.w3schools.com/tags/ref_urlencode.ASP


推荐阅读