ฉันกำลังดึงทวีตจากภูมิภาคใดภูมิภาคหนึ่ง แต่ฉันได้รับชุดผลลัพธ์ที่แตกต่างกันมาก วิธีแรกโดยให้ลองจิจูดและละติจูดภายในรัศมีที่กำหนด นี่คือลองจิจูดและละติจูดภายในเมือง (ละฮอร์, พีเค) และวาดรัศมี 5 กม. 5 กม. เป็นส่วนเล็ก ๆ ของเมืองนี้ จากสิ่งนี้ ฉันดึงข้อมูลทวีตได้ประมาณ 60,000 ทวีตในหนึ่งวัน
วิธีที่ 1
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)
วิธีที่สอง ฉันใช้ twitter geo search api โดยสอบถาม Lahore, granularity=city ตอนนี้ฉันกำลังดึงทวีตของคนทั้งเมือง แต่ตอนนี้ฉันได้รับ 1,200 ทวีตเพียงวันเดียวเท่านั้น ฉันดึงข้อมูลจาก 7 วันที่ผ่านมาและได้รับทวีตเพียง 15,000 รายการเท่านั้น นี่เป็นข้อแตกต่างที่ยิ่งใหญ่มากที่ทั้งเมืองให้ทวีตกับฉันเพียง 1,200 ทวีต และส่วนเล็กๆ ในเมืองเดียวกันให้ทวีตฉันมากกว่า 60,000 ทวีต ฉันยังพิมพ์รหัสสถานที่เพื่อยืนยันว่าฉันได้รับรูปหลายเหลี่ยมที่แม่นยำ เหล่านี้คือรูปหลายเหลี่ยม ( 74.4493870, 31.4512220 74.4493870, 31.6124170 74.2675860, 31.6124170 74.2675860, 31.4512220) และฉันวาดสิ่งเหล่านี้บน https://www.keene.edu/ เพื่อตรวจสอบ และนี่คือรูปหลายเหลี่ยมที่แม่นยำของเมืองลาฮอร์
วิธีที่ 2
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)
ตอนนี้บอกฉันก่อนว่าทำไมผลลัพธ์จึงแตกต่างกันมาก ฉันใช้เวอร์ชัน Api มาตรฐาน
ประการที่สอง บอกฉันว่าสิ่งเหล่านี้ (api) ดึงทวีตได้อย่างไร เนื่องจากทวีตน้อยกว่า 1% จะถูกแท็กตำแหน่งและไม่ใช่ผู้ใช้ทุกคนในโปรไฟล์นั้นที่จะระบุเมืองและประเทศที่แน่นอน ผู้ใช้บางคนพูดถึงเช่น Mars และ Earth เป็นต้น ดังนั้น API เหล่านี้ทำงานอย่างไรเพื่อดึงทวีตในภูมิภาคเฉพาะ ไม่ว่าจะค้นหาในรัศมีหรือสอบถามเมือง/ประเทศ ฉันศึกษาเอกสาร twitter api และเอกสาร tweepy เพื่อศึกษาว่า api เหล่านี้ทำงานอย่างไรในเบื้องหลังเพื่อรวบรวมทวีตของภูมิภาคเฉพาะ แต่ฉันไม่พบเนื้อหาที่เป็นประโยชน์ใด ๆ