Я хотел бы написать фрагмент кода, который захватывает все твиты из определенного места (например, города) и помещает их в MongoDB через python. Как полный новичок в программировании, мне удалось отследить определенные хештеги из Twitter и хранить их в MongoDB используя следующий фрагмент кода:Как я могу отслеживать твиты из определенного города и хранить в MongoDB через python?
01 import pycurl, json
02 import pymongo
03
04 STREAM_URL = "https://stream.twitter.com/1/statuses/filter.json"
05 WORDS = "track=#occupywallstreet"
06 USER = "myuser"
07 PASS = "mypass"
08
09 def on_tweet(data):
10 try:
11 tweet = json.loads(data)
12 db.posts.insert(tweet)
13 print tweet
14 except:
15 return
16
17 from pymongo import Connection
18 connection = Connection()
19 db = connection.occupywallstreet
20 conn = pycurl.Curl()
21 conn.setopt(pycurl.POST, 1)
22 conn.setopt(pycurl.POSTFIELDS, WORDS)
23 conn.setopt(pycurl.HTTPHEADER, ["Connection: keep-alive", "Keep-Alive: 3000"])
24 conn.setopt(pycurl.USERPWD, "%s:%s" % (USER, PASS))
25 conn.setopt(pycurl.URL, STREAM_URL)
26 conn.setopt(pycurl.WRITEFUNCTION, on_tweet)
27 conn.perform()
Как я могу отслеживать для геопривязанных твитов, то есть твиты от конкретного города? Есть ли способ, которым я могу изменить приведенный выше код в соответствии с моими потребностями?
Спасибо!
ПОЛНОЕ РАСКРЫТИЕ: используемый код взят из: http://gramsky.blogspot.co.uk/2011/11/how-to-use-twitters-filtered-streaming.html – user2377030
, когда вы получаете json твита проверьте, что он длинный в ограничивающей рамке города, если они имеют ограничительную рамку, а затем сохраняют твит к db. –