0

私は次のことを達成しようとしています:

特定の人物、たとえばバラク・オバマについて、彼が言及された最後の 100 回を確認したいと思います。つまり、彼自身のツイートではなく、@BarackObama を含む他の人物のツイートです。

私は Twitter API を試してみましたが、成功しましたが、上記の問題を達成することはできませんでした。

よろしくお願いします!L

4

1 に答える 1

0

参考までに、以下のスクリプトを見つけました。これで必要なものが得られるはずです。サーバーに Python をインストールする必要がありました。次の問題のみが引き続き発生します。

C:\Users\Administrator\Desktop>get_tweets.py トレースバック (最新の呼び出しが最後): ファイル "C:\Users\Administrator\Desktop\get_tweets.py"、32 行目、csv_writer.writerow(('User',' Tweet')) TypeError: 'str' はバッファ インターフェイスをサポートしていません

これはどういう意味ですか?ありがとう!

## Retrieve a user's tweets
## Sample usage -- python get_tweets.py user_name_list.txt output.csv

##import urllib2
import sys
import csv
import urllib
##import simplejson
import json as simplejson
import traceback

COUNT=100

URL_LOCATION="https://api.twitter.com/1/statuses/user_timeline.json?"
params = {'include_entities':'true',
         'include_rts':'true',
         'screen_name':'Ilse_.....=>fill in username here',
         'count':COUNT
         }

def check_unicode(text):
    if isinstance(text,unicode):
        text = text.encode("UTF-8","ignore")
        return text
    elif isinstance(text,str):
        text= unicode(text,"UTF-8").encode("UTF-8","ignore")
    return text    

csv_writer = csv.writer(open(sys.argv[2],"wb"))
csv_writer.writerow(["User","tweet"])
user_list = open(sys.argv[1],"rb")
cnt=0
for each_user in user_list:
    print(cnt) 
    params['screen_name']=each_user
    encoded_url = urllib.urlencode(params)
    API_CALL = URL_LOCATION + encoded_url
    print(API_CALL) 
    try:
        data = urllib.urlopen(API_CALL).read()
        json_data = simplejson.loads(data)
        for each_timeline in json_data:
            csv_writer.writerow([each_user,check_unicode(each_timeline['text'])])            
    except:
        # Some Crap Failed !!!
        print(traceback.format_exc()) 
    cnt+=1
于 2012-06-22T11:46:12.447 に答える