14

私はこの部分について多くのことを読みましたが、ジオコードを書いてツイートを検索することがわかりました 。 =10

ツイッターのウェブサイトで見つけたものによると、指定された緯度/経度の指定された半径内にいるユーザーによるツイートを返します。radius 修飾子を使用すると、最大 1,000 の個別の「サブリージョン」が考慮されます。値の例: 37.781157,-122.398720,1mi

問題は、緯度と経度をどのように定義または描画できるかということです。Googleマップを試してみましたが、ポイントしか得られず、このポイント周辺のマイルを追加できますが、これでは十分ではありません。国全体を含めたいのですが、可能ですか?

4

1 に答える 1

28

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"

それが役立つことを願っています。

于 2013-07-13T20:01:49.113 に答える