在 Python 3 中,我编写了一个程序来提取 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)
该函数接收配置文件的教学分类(仅适用于数据库组织)和配置文件的名称。它创建一个包含字典的列表,然后返回该列表:
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
Twitter 个人资料名称列表及其教学评级。然后转化为数据框:
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
我创建了一个最终列表,将函数中创建的列表放在一起。我在配置文件的数据框中进行迭代以激活该功能
bolhas = []
for num, row in perfis.iterrows():
bolha = linhadotempo(row['posicionamento'], row['nome'])
bolhas.append(bolha)
我后来的意图是用它创建一个最终的数据框,但没有成功。我的意图是拥有“curtidas”、“nome”、“posicionamento”和“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...
通过显示“bolhas”的内容,我相信错误是追加在列表中创建了多个列表:
[[{'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 @'}]]
是否有一种正确的方法将创建的列表合并为一个?我想在创建数据框时保留这个结构。