2016-07-02 8 views
0

下記のキーワードに関連するつぶやきを得るには、次のコードを実行しています。Twitterのストリーム配信APIはありません

from tweepy.streaming import StreamListener 
from tweepy import OAuthHandler 
from tweepy import Stream 

access_token = "K" 
access_token_secret = "" 
consumer_key = "" 
consumer_secret = "" 

class StdOutListener(StreamListener): 

    def on_data(self, data): 
     print data 
     return True 

    def on_error(self, status): 
     print status.text    

if __name__ == '__main__': 

    l = StdOutListener() 
    auth = OAuthHandler(consumer_key, consumer_secret) 
    auth.set_access_token(access_token, access_token_secret) 
    stream = Stream(auth, l) 


    stream.filter(track=["flyspicejet","jetairways","airindiain","goairlinesindia","airvistara","spicejet","airindia","goairlines","vistara"]) 

私は数時間のためにこれを実行しましたが、何の結果を得ていないしかし!どのようにこれらのキーワード(インドで人気のある航空会社)ではないとしても、単一のつぶやきが公開された可能性があることができますか?

私は間違っていますか?

ありがとうございます。

+0

Python 3バージョン:次のコードを試してみてください?手動でTwitterを検索して、結果が期待されるはずだったかどうかを確認します。 – jonrsharpe

+0

はい。やった。私は友達につぶやくよう依頼した。また、私は数時間それを残しました。 – ihmpall

答えて

0

エラーケースを適切に渡していません。あなたは、単一のキーワードで始めたことがあります

import time 
import argparse 
import os 
import sys 
import json 

#Import the necessary methods from tweepy library 
from tweepy.streaming import StreamListener 
from tweepy import OAuthHandler 
from tweepy import Stream 
from http.client import IncompleteRead 


access_token = "acc token here" 
access_token_secret = "acc token secret" 
consumer_key = "consumer key" 
consumer_secret = "consumer secret here" 

class StdOutListener(StreamListener): 
    '''A basic listener that just writes received tweets to file.''' 

    def __init__(self, outputfile): 
     self.file = outputfile 

    def on_data(self, data): 
     with open(self.file, 'a') as ofile: 
      #simply write everything to file as raw json 
      ofile.write(data) 
     return True 

    def on_error(self, status): 
     print(status) 


if __name__ == '__main__': 
    parser = argparse.ArgumentParser() 
    requiredArgs = parser.add_argument_group('must need arguments') 
    requiredArgs.add_argument('-o', '--output', help='Output txt file to write tweets', required=True) 
    args = parser.parse_args() 

    filepath = os.getcwd() + os.path.sep + args.output 
    if os.path.exists(filepath): 
     sys.exit("output file already exists; Give new filename!") 
    else: 
     #create an empty file 
     open(args.output,'a').close() 

    l = StdOutListener(args.output) 
    auth = OAuthHandler(consumer_key, consumer_secret) 
    auth.set_access_token(access_token, access_token_secret) 

    keyword_list = ['Computer Science', 'Cancer', 'Germany', 'Paris'] 

    while True: 
     try: 
      stream = Stream(auth, l) 
      stream.filter(track=keyword_list, stall_warnings=True) 

     except IncompleteRead as e: 
      # Oh well, sleep sometime & reconnect and keep trying again 
      time.sleep(15) 
      continue 

     except KeyboardInterrupt: 
      stream.disconnect() 
      break 
関連する問題