【问题标题】:Extract Country of fetched Tweets提取已获取推文的国家/地区
【发布时间】:2019-10-27 20:39:51
【问题描述】:

我使用 tweepy 获取 Tweets 并将其保存到 csv 中。我想提取国家。我使用tweet.author.location 来提取位置。它给了我位置(城市、州、国家等)。我只想提取用户的国家。有没有使用tweepy提取用户国家的方法?

这对我很有帮助。

谢谢!

【问题讨论】:

  • 你能在这里显示你得到的回复吗?
  • 是的,当然。当我尝试使用tweet.author.location 提取位置时,我会得到这样的输出。”印度班加罗尔,Durga Mandir Babubasa 附近,Debidanga,Champasari,Siliguri - 734 003,West Bengal,Tulungagung,Jawa Timur,Berkeley,CA 等。”我只想提取国家/地区。
  • @alice 的解决方案有帮助吗?或者我应该研究如何解决它?
  • 不,没用。它给了我“属性错误”。我阅读了 Twitter 的文档,但没有得到我的输出。
  • 它会给我“属性错误”,例如:-“用户”没有名为“派生”的属性。

标签: python twitter tweepy tweets country-codes


【解决方案1】:

如果你获取tweet.author.derived.locations.country,你应该可以获取到可用的国家/地区。

这是User对象的文档:https://developer.twitter.com/en/docs/tweets/data-dictionary/overview/user-object.html

【讨论】:

  • 不,没用。它给了我“属性错误”。我阅读了 Twitter 的文档,但没有得到我的输出。
  • 它会给我“属性错误”,例如:-“用户”没有名为“派生”的属性。
  • 很遗憾,derived 值仅在 Twitter 的企业(商业)API 中可用。
【解决方案2】:

嗯,这是 pycountry 包的完美用例。

import pycountry
text = "Bengaluru, India, Near Durga Mandir Babubasa, Debidanga, Champasari, Siliguri"

for country in pycountry.countries:
    if country.name in text:
        print(country.name)

这段代码只是我的想法,可能是一件代价高昂的事情。 我想值得一试。

【讨论】:

  • 已经完成了 pycountry。这适用于整个国家/地区名称出现在文本中。它不支持缩写。
  • 对于缩写,您可以使用已经构建的字典吗?
猜你喜欢
  • 2012-01-11
  • 2016-03-18
  • 1970-01-01
  • 2013-07-12
  • 1970-01-01
  • 2011-12-20
  • 2012-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多