Python 关于巴西登革热的推特:前10名人群

Python 关于巴西登革热的推特:前10名人群,python,twitter,tweepy,Python,Twitter,Tweepy,我正在使用tweepy获取关于巴西登革热的推特。 我对最近收到的关于10位粉丝最多的人的推特很感兴趣。我使用搜索api,而不是流式api,因为我不需要所有推文,只需要最相关的推文 我很惊讶收到这么少的推特,只有17条。我应该改用流式api吗 这是我的密码: #api access consumer_key="" consumer_secret="" access_token_key="" access_token_secret="" import csv #write results in f

我正在使用tweepy获取关于巴西登革热的推特。 我对最近收到的关于10位粉丝最多的人的推特很感兴趣。我使用搜索api,而不是流式api,因为我不需要所有推文,只需要最相关的推文

我很惊讶收到这么少的推特,只有17条。我应该改用流式api吗

这是我的密码:

#api access
consumer_key=""
consumer_secret=""
access_token_key=""
access_token_secret=""

import csv
#write results in file
writer= csv.writer(open(r"twitter.csv", "wt"), lineterminator='\n', delimiter =';')
writer.writerow(["date", "langage", "place", "country", "username", "nb_followers", "tweet_text"])


import tweepy

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token_key, access_token_secret)
api = tweepy.API(auth)

#get tweets for Brazil only
places = api.geo_search(query="Brazil", granularity="country")
place_id = places[0].id
print(place_id)

for tweet in tweepy.Cursor(api.search, q="dengue+OR+%23dengue&place:" + place_id, since="2015-08-01", until="2015-08-25").items():
    date=tweet.created_at
    langage=tweet.lang
    try:
        place=tweet.place.full_name
        country=tweet.place.country
    except:
        place=None
        country=None

    username=tweet.user.screen_name
    nb_followers=tweet.user.followers_count
    tweet_text=tweet.text.encode('utf-8')

    print("created on", tweet.created_at)
    print("langage", tweet.lang)
    print("place:", place)
    print("country:", country)
    print("user:", tweet.user.screen_name)
    print("nb_followers:", tweet.user.followers_count)
    print(tweet.text.encode("utf-8"))
    print('')

    writer.writerow([date, langage, place, country, username, nb_followers, tweet_text])

尝试手动执行搜索并查看得到的结果。听起来您的应用程序适合搜索API。

我想我知道问题是什么:数据中很少出现place属性。因此,很少有推特被回复

我现在使用带有pt值的lang属性,不幸的是,它们的值不是pt br langage。这并不完全是我想要的,因为它会返回来自其他国家(如葡萄牙)的推文,但这是迄今为止我能找到的最好的推文

for tweet in tweepy.Cursor(api.search, q="dengue+OR+%23dengue", lang="pt", since=date, until=end_date).items():
除此之外,不要使用酒吧——你很可能在掩盖重要的错误。至少要记录回溯。在这种情况下,您可能应该捕获AttributeError并允许其他所有内容传播