In Python 3 I made program to extract posts and likes in Twitter:
import tweepy
import pandas as pd
consumer_key = ''
consumer_secret = ''
access_token = ''
access_token_secret = ''
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
This function receives the didactic classification of profiles (only for database organization) and the name of the profile. It creates a list with dictionaries, which is then returned:
def linhadotempo(posicao, valor):
tela = api.user_timeline(valor)
bolha = []
for status in tela:
dicionario = {"nome": valor, "posicionamento": posicao, "posts_links": status.text, "curtidas": status.favorite_count}
bolha.append(dicionario)
return bolha
List of names of Twitter profiles and their didactic ratings. Then transformed into a dataframe:
data = {
'nome': ['jeanwyllys_real', 'lucianagenro', 'jairbolsonaro', 'MBLivre'],
'posicionamento': ['esquerda', 'esquerda', 'direita', 'direita']
}
perfis = pd.DataFrame(data, columns=['nome','posicionamento'])
perfis.reset_index()
index nome posicionamento
0 0 jeanwyllys_real esquerda
1 1 lucianagenro esquerda
2 2 jairbolsonaro direita
3 3 MBLivre direita
I create a final list to put together the lists created in the function. I do an iteration in the dataframe of the profiles to activate the function
bolhas = []
for num, row in perfis.iterrows():
bolha = linhadotempo(row['posicionamento'], row['nome'])
bolhas.append(bolha)
My intention later was to create a final dataframe with this, but it did not work out. My intention was to have the columns "curtidas", "nome", "posicionamento" and "posts_links"
bolhas_final = pd.DataFrame(bolhas)
bolhas_final.reset_index()
index 0 1 2 3 4 5 6 7 8 ... 10 11 12 13 14 15 16 17 18 19
0 0 {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ... {'nome': 'jeanwyllys_real', 'posicionamento': ...
1 1 {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... ... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es... {'nome': 'lucianagenro', 'posicionamento': 'es...
2 2 {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... ... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd... {'nome': 'jairbolsonaro', 'posicionamento': 'd...
3 3 {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... ... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita... {'nome': 'MBLivre', 'posicionamento': 'direita...
By showing the content of "bolhas" I believe the error was that append created several lists within the list:
[[{'curtidas': 122,
'nome': 'jeanwyllys_real',
'posicionamento': 'esquerda',
'posts_links': 'A expressão "ideologia de gênero" é uma farsa criada para combater a promoção da igualdade e perpetrar a violência… https:///lWdLANLzc5'},
{'curtidas': 316,
'nome': 'jeanwyllys_real',
'posicionamento': 'esquerda',
'posts_links': 'O termo fantasioso "ideologia de gênero" foi criado por aqueles que falam em "ditadura gay". Quando o ministro ileg… https:///zv2aY31X9p'},
...
[{'curtidas': 378,
'nome': 'lucianagenro',
'posicionamento': 'esquerda',
'posts_links': 'Que coisa mais ridícula o ministro da Educação falando em rede nacional que a nova base curricular "está sendo entr… https:///h6l95GhdWT'},
...
{'curtidas': 500,
'nome': 'MBLivre',
'posicionamento': 'direita',
'posts_links': 'URGENTE: Lula pede 1 milhão de reais em indenização moral a Dallagnol e Justiça nega https://d9vVwRH2IS via @'}]]
Is there a correct way to merge the created lists into one? I would like to keep this structure when creating a dataframe.