web-dev-qa-db-ja.com

特定の国からツイートを取得するにはどうすればよいですか

私はこの部分についてたくさん読みました、そして私が見つけたのはジオコードを書いて、例えばツイートを検索することです https://api.Twitter.com/1.1/search/tweets.json?geocode=37.781157、 -122.398720,1mi&count = 1

twitterのウェブサイトで見つけたものによると、指定された緯度/経度の指定された半径内にいるユーザーによるツイートを返します。半径モディファイヤを使用する場合、最大1,000の異なる「サブ領域」が考慮されます。値の例:37.781157、-122.398720,1mi

質問!、緯度と経度をどのように定義または描画できますか?グーグルマップを試してみましたが、ポイントしか取れないので、このポイントの周りにマイルを追加できますが、これだけでは不十分です。国全体を含めたいのですが、可能ですか?

11
user2490790

1つの方法は、Twitter geo search API を使用し、場所IDを取得してから、place:place_idを使用して通常の検索を実行することです。例、 tweepy を使用:

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"

次のスレッドも参照してください。

UPD(python-Twitterを使用した同じ例):

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"

お役に立てば幸いです。

23
alecxe