PYTHON ILE TWITTER APISI KULLANIMI

LeGoLaS

ikra
Emektar Yönetici
Profil Bilgileri
Üyelik Tarihi :
1 Ağu 2008
Bulunduğu Yer :
Türkiye
Mesajları :
9,905
Puanları :
4,060
Python ile twitter apisi kullanarak örnek uygulamalar oluşturmayı göreceğiz. Bunun için ilk önce twitterda uygulama oluşturmamız gerekiyor. https://dev.twitter.com/apps/new adresinden uygulama oluşturabilirsiniz. Uygulama oluşturduktan sonra karşınıza şu şekilde bir pencere gelecek.
Buradaki Consumer key,Consumer secret,Access token,Access token secret değerleri bize lazım olacak. Eğer sizde değerleri yoksa Your access token başlığı altındaki Create my access token butonuna tıklayarak oluşturunuz. Twitter apisini kullanabilmek için Twython modülünü kullanacağız. Eğer Twython bilgisayarınıza kurulu değilse terminalde şu komutları yazarak kurabilirsiniz.
[COLOR=white !important]?[/COLOR]​
1
2
3​
pip install twython

easy_install twython​


Twitter apisini kullanabilmek için ilk şu tanımlamaları yapmamız gerekiyor.
[COLOR=white !important]?[/COLOR]​
1
2
3
4
5
6
7
8
9
10
11
12
13​
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from twython import Twython
CONSUMER_KEY = '***'
CONSUMER_SEcRET = '***'
ACCESS_TOKEN = "***"
ACCESS_TOKEN_SECRET = "***"



twitter = Twython(CONSUMER_KEY, CONSUMER_SECRET,
ACCESS_TOKEN, ACCESS_TOKEN_SECRET)​


twython modülü sayesinde Twitter'a bağlanmış olduk. Burdaki *** değerleri kendi değerleriniz olmalıdır. Şimdi isterseniz ilk önce
[COLOR=white !important]?[/COLOR]​
1​
update_status()​


fonksiyonunu kullanarak tweet atalım. Yukarıdaki kodlara şu satırı ekliyoruz.
[COLOR=white !important]?[/COLOR]​
1​
twitter.update_status(status='#Python ile tweet atma..')​


Tweet atmış olduk.
NOT: Eğer twitterda oluşturduğunuz uygulamanın yazma izni yoksa hata ile karşılaşırsınız. İlk uygulama oluşturulduğunda varsayılan olarak sadece okuma izni vardır.
Bir kullanıcının takipçi sayısı,takip ettiği kişi sayısı, attığı tweet sayısı gibi değerlere ulaşabiliriz.
[COLOR=white !important]?[/COLOR]​
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16​
##Takip ettiği kişi sayısı
user = twitter.get_user_timeline()
print user[0]['user']['friends_count']
138
##Takipçi sayısı
user = twitter.get_user_timeline()
print user[0]['user']['followers_count']
82
##Attığı tweet sayısı
user = twitter.get_user_timeline()
print user[0]['user']['statuses_count']
969
##Kullanıcı adı
user = twitter.get_user_timeline()
print user[0]['user']['screen_name']
_true_false​


Bu işlemleri kullanıcı adını kendimiz vererek başka kullanıcı içinde yapabiliriz.
[COLOR=white !important]?[/COLOR]​
1
2
3​
user = twitter.get_user_timeline(screen_name='uygarkoroglu')
print user[0]['user']['followers_count']
206​


Şimdi istediğimiz bir kullanıcının son tweetlerini çekerek yeni bir .html sayfasına aktaracağımız basit bir uygulama yapalım.
[COLOR=white !important]?[/COLOR]​
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35​
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from twython import Twython
APP_KEY = '***'
APP_SECRET = '***'
ACCESS_TOKEN = "***"
ACCESS_TOKEN_SECRET = "***"



twitter = Twython(APP_KEY, APP_SECRET,
ACCESS_TOKEN, ACCESS_TOKEN_SECRET)

user_tweets = twitter.get_user_timeline(screen_name='_true_false',include_rts=True)
tweets = ""
for tweet in user_tweets:
tweet = Twython.html_for_tweet(tweet)
tweets += '<li>'+tweet+'</li>'

html = """


<link rel="stylesheet" href="https://abs.twimg.com/a/1387359134/t1/css/t1_core.bundle.css" type="text/css">
<meta charset="UTF-8">


<div class="tweet"><ul>"""+ tweets +"""</ul></div>


"""

create_html = open("tweets.html","w")
create_html.write(html.encode('utf-8').strip())
create_html.close()​


Buradaki screen_name='_true_false' parametresi hangi kullanıcının tweetleri çekilecekse onun kullanıcını adını belirtir. Programı çalıştırdığınız da bulunduğunuz dizinde son tweetlerin bulunduğu tweets.html dosyası oluşacaktır.
Daha fazla bilgiye https://twython.readthedocs.org/en/latest/ sayfasından ulaşabilirsiniz.
Ekipten Mehmet İnce'nin benzer bir twitter modülünü kullanarak yazdığı tweet silme programına Buradanulaşabilirsiniz.
 
Üst