ในการใช้งานทวิตเตอร์ (Twitter) จะต้องทำผ่านสิ่งที่เรียกว่า API ทาง Twitter ได้เปิด API สำหรับนักพัฒนาภายนอก เป็นสิ่งที่ทำให้ Twitter ได้รับความนิยมในหมู่นักพัฒนาด้วยการเปิดกว้างข้อมูล
ใน Python มีนักพัฒนาได้พัฒนาโมดูลสำหรับใช้งาน Twitter ใน Python เรียกว่า "TwitterAPI" ใช้ License: MIT รองรับทั้ง Python 2 , Python 3 ครับ
ในการติดตั้งทำได้ง่าย ๆ ด้วยการสั่ง pip โดยใช้คำสั่ง
pip install TwitterAPIต่อไปผู้อ่านต้องไปเตรียมสิ่งจำเป็นต่อไปนี้ครับ
- token_key และ token_secret เป็นข้อมูลที่ใช้ในการเข้าถึงบัญชี Twitter ของเรา
- consumer_key และ consumer_secret เราต้องสร้างแอพขึ้นมาบน Twitter เพื่อใช้ในการติดต่อกับ Twitter ให้ผู้อ่านไปสร้างแอพได้ที่ https://apps.twitter.com/app/new จะพบกับ
Name: *
เช่น tontanontwitter
Description: *
เช่น ล็อกอินด้วย twitter
Website: *
เช่น http://wannaphong.com
Callback URL
ไม่ต้องใส่ก็ได้ครับ
from TwitterAPI import TwitterAPI consumer_key = "" consumer_secret = "" access_token_key = "" access_token_secret = "" api = TwitterAPI(consumer_key, consumer_secret, access_token_key, access_token_secret)
ทวิตข้อความใช้คำสั่ง
r = api.request('statuses/update', {'status':'This is a tweet! By Python :P'})
จะพบว่าข้อความได้ถูกเผยแพร่ไปยัง Twitter แล้ว
This is a tweet! By Python :P
— Wannaphong (@tontan1998)
เช็คสถานะของ status ที่ทวิตไปprint(r.status_code)
หากเป็น 200 แสดงว่า ข้อความได้ถูกทวิตไปแล้วครับ :D
ถ้าต้องการค้นข้อมูลจาก Twitter ใช้คำสั่ง เช่น
r = api.request('search/tweets', {'q':'#เรารักในหลวง'}) for item in r: print(item)
จะพบกับข้อมูลมหาศาล ผมต้องการแค่ข้อความ ผมจึงเขียนโค้ดเป็น
r = api.request('search/tweets', {'q':'#เรารักในหลวง'}) for item in r: print(item['text'] if 'text' in item else item)
ผลลัพธ์
หากเราต้องการค้นข้อมูลจากสถานที่ เช่น เมือง New York ใช้คำสั่ง
r = api.request('statuses/filter', {'locations':'-74,40,-73,41'}) #พิกัด for item in r: print(item)
ดูตัวอย่างการใช้งานเพิ่มเติมได้ที่ https://github.com/geduldig/TwitterAPI/tree/master/examples ครับ
หน้าเว็บโมดูล TwitterAPI https://github.com/geduldig/TwitterAPI
เอกสารการใช้งานโมดูล TwitterAPI http://geduldig.github.io/TwitterAPI/
ลองนำไปประยุกต์ใช้งานกันดูนะครับ
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
ถ้าผมต้องการข้อมูลที่เยอะมากๆ จะมีวิธีไหนที่จะเพิ่มจำนวนข้อมูลที่ได้มาให้เยอะกว่านี้ไหมครับ
ตอบลบ