Saya mengambil tweet dari wilayah tertentu, tetapi saya mendapatkan hasil yang sangat berbeda. Cara pertama dengan memberikan garis bujur dan garis lintang dalam radius tertentu. Ini adalah garis bujur dan garis lintang dalam kota (Lahore,PK) dan menggambar radius 5 km. 5km adalah bagian yang sangat kecil dari kota ini. Dengan ini saya mengambil sekitar 60.000 tweet dalam satu hari.
Metode1
import tweepy
consumer_key= 'xxxxxxxxxxxxxx'
consumer_secret= 'xxxxxxxxxxxxx'
access_token='xxxxxxxxxxxxxxx'
access_token_secret='xxxxxxxxxxxxxxxxxxxx'
api = tweepy.API(auth,wait_on_rate_limit = Truewait_on_rate_limit_notify= True)
public_tweets = tweepy.Cursor(api.search, count=100, geocode="31.578871,74.305184,5km",since="2018-06-09",show_user = True,tweet_mode="extended").items()
for tweet in public_tweets:
print(tweet.full_text)
Metode Kedua, saya menggunakan api pencarian geografis Twitter, dengan menanyakan Lahore, granularity=city. Sekarang saya mengambil tweet dari seluruh kota. tapi sekarang saya mendapat 1.200 tweet hanya dalam satu hari. Saya juga mengambil dari 7 hari terakhir dan hanya mendapatkan 15.000 tweet. Ini adalah perbedaan yang sangat besar karena seluruh kota hanya memberi saya 1.200 tweet dan sebagian kecil dari kota yang sama memberi saya lebih dari 60.000 tweet. Saya juga mencetak id tempat untuk memverifikasi bahwa saya mendapatkan poligon yang akurat. Ini adalah poligonnya (74.4493870, 31.4512220 74.4493870, 31.6124170 74.2675860, 31.6124170 74.2675860, 31.4512220) dan saya menggambarnya di https://www.keene.edu/ untuk memverifikasi. dan ya, ini adalah poligon akurat kota Lahore.
Metode2
import tweepy
consumer_key= 'xxxxxxxxxxxxxx'
consumer_secret= 'xxxxxxxxxxxxx'
access_token='xxxxxxxxxxxxxxx'
access_token_secret='xxxxxxxxxxxxxxxxxxxx'
api = tweepy.API(auth,wait_on_rate_limit = Truewait_on_rate_limit_notify= True)
places = api.geo_search(query="Lahore", granularity="city")
for place in places:
print("placeid:%s" % place)
public_tweets = tweepy.Cursor(api.search, count=100,q="place:%s" % place.id,since="2018-06-09",show_user = True,tweet_mode="extended").items()
for tweet in public_tweets:
print(tweet.full_text)
Sekarang beri tahu saya dulu mengapa ada perbedaan besar dalam hasilnya. Saya menggunakan versi Api standar.
Kedua, beri tahu saya Bagaimana (api) ini mengambil tweet. karena kurang dari 1% tweet diberi tag geografis dan juga tidak semua pengguna di profil sana memberikan kota dan negara yang tepat. Beberapa pengguna menyebutkan seperti Mars dan Bumi dll. Jadi Cara kerja api ini untuk mengambil tweet di wilayah tertentu. baik mencari dalam radius atau dengan menanyakan kota/negara. Saya mempelajari dokumen api Twitter dan dokumen tweepy untuk mempelajari cara kerja api ini di latar belakang untuk mengumpulkan tweet dari wilayah tertentu, tetapi saya tidak menemukan materi yang berguna.