2013-07-13 15 views
7

tweet'ler Bu rolde hakkında çok şey okudum ve ne bulduk coğrafi kodu yazmak ve örneğin i twitter web sitesinde ne buldum göre https://api.twitter.com/1.1/search/tweets.json?geocode=37.781157,-122.398720,1mi&count=10nasıl belirli bir ülke

tweet aramak içindir ettik alabilirsiniz Tweets, verilen enlem/boylamın belirli bir yarıçapında bulunan kullanıcılar tarafından döndürür. Yarıçap düzenleyici kullanılırken maksimum 1.000 ayrı "alt bölge" dikkate alınacaktır. Örnek Değerler: 37.781157, -122.398720,1mi

Soru !, enlem ve boylamı nasıl tanımlayabiliriz veya çizebiliriz? Google haritayı denedim ama sadece bir nokta aldım, sonra bu noktayı mil ekleyebilirim, ama bu yeterli değil, bütün ülkenin dahil edilmesini istiyorum, bu mümkün mü?

cevap

14

Tek yol, twitter geo search API kullanmak, yer kimliğini almak ve place:place_id kullanarak düzenli arama gerçekleştirmektir. Örnek, tweepy kullanılarak:

da
import tweepy 

auth = tweepy.OAuthHandler(..., ...) 
auth.set_access_token(..., ...) 

api = tweepy.API(auth) 
places = api.geo_search(query="USA", granularity="country") 
place_id = places[0].id 

tweets = api.search(q="place:%s" % place_id) 
for tweet in tweets: 
    print tweet.text + " | " + tweet.place.name if tweet.place else "Undefined place" 

bu mesajları bkz

UDP (aynı örneği kullanarak piton-heyecan):

from twitter import * 


t = Twitter(auth=OAuth(..., ..., ..., ...)) 

result = t.geo.search(query="USA", granularity="country") 
place_id = result['result']['places'][0]['id'] 

result = t.search.tweets(q="place:%s" % place_id) 
for tweet in result['statuses']: 
    print tweet['text'] + " | " + tweet['place']['name'] if tweet['place'] else "Undefined place" 

Bu yardımcı olur umarım.

+0

gerçekten iyi bir fikir, bunu deneyecek .. Teşekkür ederim – user2490790

+0

python-twitter sarmalayıcı ile aynı şeyi yapmak için bir yolu var mı? – user2490790

+0

Elbette, bir örnek ekledim. Lütfen kontrol edin. – alecxe