2013-12-14 14 views
6

Tu jest mój bieżący kodjak uzyskać angielskie tweety sam przy użyciu Pythona?

from twitter import * 

t = Twitter(auth=OAuth(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET, 
     ACCESS_TOKEN, ACCESS_TOKEN_SECRET)) 

t.statuses.home_timeline() 
query=raw_input("enter the query \n") 
data = t.search.tweets(q=query) 

for i in range (0,1000):  
    print data['statuses'][i]['text'] 
    print '\n' 

Tutaj ja sprowadzić tweets ze wszystkich języków. Czy istnieje sposób, aby ograniczyć się do pobierania tweetów tylko w języku angielskim?

+2

o Boże! Dlaczego średniki? – inspectorG4dget

+0

Ten [link] (http://stackoverflow.com/questions/18031393/how-to-restrict-the-language-of-results-in-twitter4j-to-english) może wskazywać we właściwym kierunku; Najgorszy scenariusz, zajrzyj do źródła modułu Twitter, aby zobaczyć, czy eksponują parametr 'lang'. –

+0

Czy to nie jest "OAuth" nieco niebezpieczne dla postu na stackoverflow? Nie jestem pozytywny, ale wygląda na to, że każdy, kto to czyta, może uwierzytelnić się jako plakat tego pytania. – johannestaas

Odpowiedz

4

Istnieją co najmniej 4 sposoby ... Położyłem je w kolejności prostoty.

  1. Po zebraniu tweetów, wyjście json ma parę klucz/wartość, która identyfikuje język. Możesz więc użyć czegoś takiego, aby pobrać wszystkie tweety językowe i wybrać tylko te, które pochodzą z kont w języku angielskim.

    for i in range (0,1000): 
        if data['statuses'][i][u'lang']==u'en': 
         print data['statuses'][i]['text'] 
         print '\n' 
    
  2. Innym sposobem, aby zbierać tylko tweets, które są określone w języku angielskim, można użyć parametru opcjonalnego „lang” żądać od API tylko w języku angielskim (self-idenfitied) tweety. Zobacz szczegóły here. Jeśli używasz biblioteki python-twitter, możesz ustawić parametr "Lang" w twitter.py.

  3. Użyj pakietu rozpoznawania języka, takiego jak guess-language.

  4. Jeśli chcesz rozpoznać tekst w języku angielskim bez używania samodzielnie zidentyfikowanych danych twittera (tj. Chińskiego konta pisanego w języku angielskim), musisz wykonać przetwarzanie w języku naturalnym. One option. Ta metoda rozpozna zwykłe angielskie słowa, a następnie oznaczy tekst jako angielski.