2016-04-01 19 views
0

私はtweepyとgeocodeパッケージを使ってZipCodesをlatとlongに変換してtweepyを使ってtwitter APIから引き出しますが、何も返されません。私は、コードを1行ずつ実行して実行し、何も返さないたびにapi.searchに固執します。tweety twitter APi返信なし(Python)

query = 'stack' 
radius = 1000 
DataSet = pd.DataFrame 
loopCount = 0 
appended_data = [] 
appendData = [] 

def toDataFrame(tweets): 

    DataSet = pd.DataFrame() 

    DataSet['tweetID'] = [tweet.id for tweet in tweets] 
    DataSet['tweetText'] = [tweet.text for tweet in tweets] 
    DataSet['tweetRetweetCt'] = [tweet.retweet_count for tweet in tweets] 
    DataSet['tweetFavoriteCt'] = [tweet.favorite_count for tweet in tweets] 
    DataSet['tweetSource'] = [tweet.source for tweet in tweets] 
    DataSet['tweetCreated'] = [tweet.created_at for tweet in tweets] 
    DataSet['userID'] = [tweet.user.id for tweet in tweets] 
    DataSet['userScreen'] = [tweet.user.screen_name for tweet in tweets] 
    DataSet['userName'] = [tweet.user.name for tweet in tweets] 
    DataSet['userCreateDt'] = [tweet.user.created_at for tweet in tweets] 
    DataSet['userDesc'] = [tweet.user.description for tweet in tweets] 
    DataSet['userFollowerCt'] = [tweet.user.followers_count for tweet in tweets] 
    DataSet['userFriendsCt'] = [tweet.user.friends_count for tweet in tweets] 
    DataSet['userLocation'] = [tweet.user.location for tweet in tweets] 
    DataSet['userTimezone'] = [tweet.user.time_zone for twee 

def location(zip): 
    geolocator = Nominatim() 
    location = geolocator.geocode(zip) 
    cordinates = ((location.latitude, location.longitude)) 
    cordinates = str(cordinates) 
    cordinates = cordinates.replace("(","") 
    cordinates = cordinates.replace(")","") 
    return cordinates 

def lookUp(results): 
    for result in results: 
     DataSet = pd.DataFrame(results) 
     print DataSet 
     return DataSet 

##hidden for SO 
auth = tp.OAuthHandler('','') 
auth.set_access_token('', '') 

api = tp.API(auth) 

for zip in zips: 
#for row, zip in zips.iterrows(): 
    if (loopCount == 15): 
     t.sleep(960) 
     loopCount = 0 
    loopCount = loopCount + 1 
    cordinates = location(zip) 
    inputCode = cordinates + ', ' + str(radius) 
    results = api.search(geocode=inputCode, count=100, q=query) 
    DataSet = lookUp(results) 
    appendData.append(DataSet) 
appended_data = pd.concat(appendedData, axis=1) 

答えて

0

geocodeにスペースを渡すことはなく、また、ユニットを追加しないように注意してください。例えば、基準twitter docslocation

In [5]: 
zip = 28039 
cordinates = location(zip) 

In [23]: 
radius = '1km' 
inputCode = cordinates + ', ' + str(radius) 
inputCode = inputCode.replace(' ', '') 
inputCode 

Out[23]: 
'40.4604043354592,-3.70401484102134,1km' 

In [24]: 
query = 'a' 
results = api.search(geocode=inputCode, count=100, q=query) 

In [25]: 
len(results) 
Out[25]: 
100 

あなたの関数を使用して:

パラメータ値が 半径の単位は「MI」のいずれかとして指定されなければならない「緯度、経度、半径」によって指定されます(マイル)または「km」 (キロ)。

希望します。

関連する問題