【问题标题】:Applying filter to extract tweets on some hashtags from a particular country using python使用 python 应用过滤器从特定国家/地区提取有关某些主题标签的推文
【发布时间】:2023-03-29 23:01:01
【问题描述】:

我正在使用以下 python 脚本获取关于#lockdownindia、#lockdownextension 和#covid19 的推文,以获取来自我的国家(印度)的推文并执行情绪分析。我已经使用了 tweepy 库中的 cursor() 来执行此操作。当我使用#geocode: 时,它可以帮助我,但由于半径不准确,我也收到了来自巴基斯坦等邻国的推​​文,这是我不想要的。在阅读Twitter documentation 时,我了解了place_country:,但它不起作用。它正在返回空数据框。任何有关如何使用 place_country: 的帮助将不胜感激。
此外,是否有可能一次性获取推文的所有属性,就像使用流 API 时发生的那样

consumer_key = ''
consumer_secret = ''
access_token = ''
access_token_secret = ''

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token = (access_token, access_token_secret)

api = tweepy.API(auth, wait_on_rate_limit=True)

query = '#lockdownindia OR #lockdownextension OR #covid19 -filter:retweets AND place_country:IN'     #['-filter:retweets place_country:IN']        #geocode:20.5937,78.9629,910mi
max_tweets = 100

tweets = tweepy.Cursor(api.search, q=query, since = "2020-06-05", until = "2020-06-21",lang="en").items(max_tweets)

【问题讨论】:

    标签: python twitter location


    【解决方案1】:

    嘿,我已经检查了文档,看来您不应该在查询中输入 place-country。这是您可以在 Twitter 的 JSON 回复中找到的属性之一。我建议在国家/地区的 place 属性下检查他们的 JSON 消息,并使用循环检查它是否设置为 India。

    【讨论】:

    • 感谢您的帮助。那么你能建议我如何一次获取推文的所有属性,并将它们存储在一些 json 或 csv 文件中吗?
    • 嘿,我添加了另一个答案,因为我想添加代码块供您使用。希望对你有所帮助
    【解决方案2】:

    抱歉,我无法早点回复。首先,您需要使用以下行导入一些 json、请求和时间库。

    import json, requests, time
    

    这些应该可以帮助您向 twitter api 发出 http 请求并操纵 JSON 响应。接下来,您要设置您的 http 请求。我建议为此设置一个变量。你可以这样拥有它。

    myrequest = 'https://api.twitter.com/1.1/search/tweets.json?q=from%3Atwitterdev&result_type=mixed&count=2'
    

    最后,您将向 twitter API 发出 GET 请求。我要将我的请求保存到变量响应中。

    response = requests.request(method = "GET", url = myrequest)
    

    现在,如果您将收到来自服务器的响应。要访问该响应的 JSON 内容,您需要使用此命令。我要将我的 JSON 内容保存到变量结果中。

    result = json.loads(response.content)
    

    现在您应该拥有 JSON 内容,并且可以像查看字典一样查看其中的内容。我以前没有使用过 twitter API,但我希望这会有所帮助。这是我将与其他 API 一起使用的。

    旁注:这是一个link,说明您的 http 请求应该如何来自 twitter。祝你好运:)

    【讨论】:

    • 这是我在网上找到的指南。它提供了更详细的解释。 link here
    猜你喜欢
    • 1970-01-01
    • 2012-01-11
    • 2014-06-14
    • 2014-06-26
    • 2013-07-12
    • 2019-10-27
    • 2020-05-01
    • 2022-07-05
    • 1970-01-01
    相关资源
    最近更新 更多