Topic: Ricavare il testo completo di un tweet  (Letto 54 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Simone3

  • python unicellularis
  • *
  • Post: 8
  • Punti reputazione: 0
    • Mostra profilo
Ricavare il testo completo di un tweet
« il: Luglio 09, 2019, 10:24 »
Volevo chiedere se attraverso un programma che estrae informazioni attraverso SteamListener vi è la possibilità di avere il testo completo del tweet e non una parte

Offline bebo

  • python erectus
  • ***
  • Post: 230
  • Punti reputazione: 0
    • Mostra profilo
    • bebo_sudo's personal homepage
Re:Ricavare il testo completo di un tweet
« Risposta #1 il: Luglio 09, 2019, 10:46 »
Io conosco la libreria che stai usando, ma gli altri no. Come puoi aspettarti che qualcuno possa aiutarti se non gli spieghi cosa stai facendo?

Inoltre, l'oggetto che ti ritorna StreamListener ha un sacco di metodi, prova a guardarli, dovrebbe esserci un "body". Purtroppo la libreria tweepy non e' molto chiara e dettagliata a riguardo.

Offline GlennHK

  • python sapiens sapiens
  • ******
  • Post: 1.643
  • Punti reputazione: 1
    • Mostra profilo
    • La Tana di GlennHK
Re:Ricavare il testo completo di un tweet
« Risposta #2 il: Luglio 10, 2019, 09:42 »
Mah, io l'ho usata per qualche anno e non ho mai riscontrato problemi di documentazione.

Offline bebo

  • python erectus
  • ***
  • Post: 230
  • Punti reputazione: 0
    • Mostra profilo
    • bebo_sudo's personal homepage
Re:Ricavare il testo completo di un tweet
« Risposta #3 il: Luglio 10, 2019, 10:16 »
Mah, io l'ho usata per qualche anno e non ho mai riscontrato problemi di documentazione.
Anche io l'ho usata per un progetto grossetto, ma ieri velocemente non sono riuscito a trovare dettagli sull'oggetto che passa StreamListener al metodo on_status:
http://docs.tweepy.org/en/latest/streaming_how_to.html

@Simone3
prova a printare quell'oggetto status, potrebbe essere un json.
Oppure guardane i metodi esposti con un print(dir(status))

Offline Simone3

  • python unicellularis
  • *
  • Post: 8
  • Punti reputazione: 0
    • Mostra profilo
Re:Ricavare il testo completo di un tweet
« Risposta #4 il: Luglio 10, 2019, 15:08 »
 
def on_data(self, data):
        all_data = json.loads(data)

        tweet = all_data["text"].encode('ascii','ignore')

        username = all_data["user"]["screen_name"]

        c.execute("INSERT INTO info (username, tweet) VALUES (%s,%s)",
            (username, tweet))

        conn.commit()

        print(username,tweet)

Può esssere che se usando il tweepy.cursor (
for tweet in tweepy.Cursor(api.search,q="plastica",tweet_mode="extended",count=5,
                           #lang="it").items(500):
) esista la funzione tweet.full_text mentre per SteamListener no? Conoscete qualche soluzione? Nonostante sto cercando su internet non riesco a trovare una soluzione (forse ad ostacolare il tutto è l'inglese,nonostante mi metta di buona volontà a tradurlo ogni qualvolta capiti)
« Ultima modifica: Luglio 10, 2019, 15:36 da Simone3 »

Offline bebo

  • python erectus
  • ***
  • Post: 230
  • Punti reputazione: 0
    • Mostra profilo
    • bebo_sudo's personal homepage
Re:Ricavare il testo completo di un tweet
« Risposta #5 il: Luglio 10, 2019, 16:12 »
Ma l'oggetto tweet che hai creato a riga 5, cosa contiene? Non ci sono altri campi?
Prova con un:

from pprint import pprint

    all_data = json.loads(data)
    pprint(tweet)

Offline Simone3

  • python unicellularis
  • *
  • Post: 8
  • Punti reputazione: 0
    • Mostra profilo
Re:Ricavare il testo completo di un tweet
« Risposta #6 il: Luglio 10, 2019, 16:44 »
Ho creato la varibile tweet per avere all'interno solo i dati relativo al testo del tweet scaricato.

Eseguendo i tuoi consigli ho ugualmente problemi in quanto il testo mi viene cosi restituito.
Esempio:
(b'RT @DottorWatson: Ciao @luigidimaio, ricordi quando volevi Gino Strada al Qu'
 b'irinale? \n\nDa 0 a 1 milione di multa per le ONG, quanto ti verg')

Mi viene restituisce il tweet in due righe e non completo

Offline bebo

  • python erectus
  • ***
  • Post: 230
  • Punti reputazione: 0
    • Mostra profilo
    • bebo_sudo's personal homepage
Re:Ricavare il testo completo di un tweet
« Risposta #7 il: Luglio 10, 2019, 23:54 »
Errore mio nello script, volevo farti stampare la variabile all_data

from pprint import pprint

def ..():
    all_data = json.loads(data)
    pprint(all_data)

Offline Simone3

  • python unicellularis
  • *
  • Post: 8
  • Punti reputazione: 0
    • Mostra profilo
Re:Ricavare il testo completo di un tweet
« Risposta #8 il: Luglio 11, 2019, 10:29 »
Ma che senso ha stampare all_data se è la variabile dove vengono salvati TUTTI i dati che vengono prelevati da Twitter?

Il mio problema sta nel riuscire a scaricare l'intero testo del tweet!

Offline bebo

  • python erectus
  • ***
  • Post: 230
  • Punti reputazione: 0
    • Mostra profilo
    • bebo_sudo's personal homepage
Re:Ricavare il testo completo di un tweet
« Risposta #9 il: Luglio 15, 2019, 00:37 »
Siccome tu selezioni in automatico la chiave "text" da all_data, volevo capire se c'era magari il tweet completo da qualche altra parte nel json che ti viene ritornato.

Pero' in effetti chissene, tanto io questo lavoro ero riuscito a farlo e recuperavo tutto quello che mi serviva da tweepy, quello che chiede aiuto sei tu.