簡體   English   中英

使用推文 ID 提取特征

[英]Feature extraction with tweet IDs

我正在嘗試從 ID 中提取推文的信息。 使用 ID,我想獲取推文的創建日期、推文、位置、關注者、朋友、收藏夾、他們的個人資料描述、是否經過驗證以及語言,但我在執行此操作時遇到了麻煩。 接下來,我將展示我執行我想要的操作所遵循的步驟。

我制作了以下代碼。 首先,我將推文的 ID 保存在一個 txt 文件中,並按如下方式讀取它們:

# Read txt file
txt = '/content/drive/MyDrive/Mini-proyecto Texto/archivo.txt'
with open(txt) as archivo:
  lines = archivo.readlines()

接下來,我將每個 ID 添加到列表中:

# Add the IDs to a list
IDs = []
for i in lines:
  IDs.append(i.rsplit())
  #print(i.rsplit())

IDs
#[['1206924075374956547'],
# ['1210912199402819584'],
# ['1210643148998938625'],
# ['1207776839697129472'],
# ['1203627609759920128'],
# ['1205895318212136961'],
# ['1208145724879364100'], ...

最后,開始提取您需要的信息,如下所示:

# Extract information from tweets
tweets_df2 = pd.DataFrame()
for i in IDs:
  try:
    info_tweet = api.get_status(i, tweet_mode="extended")  
  except:
    pass

  tweets_df2 = tweets_df2.append(pd.DataFrame({'ID': info_tweet.id,
                                             'Tweet': info_tweet.full_text,
                                             'Creado_tweet': info_tweet.created_at,
                                             'Locacion_usuario': info_tweet.user.location,
                                             'Seguidores_usuario': info_tweet.user.followers_count,
                                             'Amigos_usuario': info_tweet.user.friends_count,
                                             'Favoritos_usuario': info_tweet.user.favourites_count,
                                             'Descripcion_usuario': info_tweet.user.description,
                                             'Verificado_usuario': info_tweet.user.verified,
                                             'Idioma': info_tweet.lang}, index=[0]))
  tweets_df2 = tweets_df2.reset_index(drop=True)


tweets_df2

下圖是 tweets_df2 變量的輸出,但我不明白為什么這些值會一遍又一遍地重復。 有誰知道我的代碼有什么問題?

tweets_df2 變量的輸出

如果您需要 txt,我會為您提供驅動器的鏈接。 https://drive.google.com/file/d/1vyohQMpLqlKqm6b4iTItcVVqL2wBMXWp/view?usp=sharing

非常感謝您抽出寶貴的時間:3

通過一些調整,您的代碼對我來說基本上運行良好。 我注意到您的標識不正確,並且您的 ID 列表是列表列表(只有一個元素)而不是一個元素列表。

嘗試這個:

api = tweepy.Client(consumer_key=api_key, 
                       consumer_secret=api_key_secret,
                       access_token=access_token, 
                       access_token_secret=access_token_secret,
                       bearer_token=bearer_token, 
                       wait_on_rate_limit=True,
                        )

auth = tweepy.OAuth1UserHandler(
   api_key, api_key_secret, access_token, access_token_secret
)

api = tweepy.API(auth)

txt = "misocorpus-misogyny.txt"
with open(txt) as archivo:
    lines = archivo.readlines()

IDs = []
for i in lines:
    IDs.append(i.strip())# <-- use strip() to remove /n rather than split

tweets_df2 = pd.DataFrame()

for i in IDs:
    try:
        info_tweet = api.get_status(i, tweet_mode="extended")  
    except:
        pass
    
    tweets_df2 = tweets_df2.append(pd.DataFrame({'ID': info_tweet.id,
                                             'Tweet': info_tweet.full_text,
                                             'Creado_tweet': info_tweet.created_at,
                                             'Locacion_usuario': info_tweet.user.location,
                                             'Seguidores_usuario': info_tweet.user.followers_count,
                                             'Amigos_usuario': info_tweet.user.friends_count,
                                             'Favoritos_usuario': info_tweet.user.favourites_count,
                                             'Descripcion_usuario': info_tweet.user.description,
                                             'Verificado_usuario': info_tweet.user.verified,
                                             'Idioma': info_tweet.lang}, index=[0]))
    tweets_df2 = tweets_df2.reset_index(drop=True)

tweets_df2

結果:

    ID  Tweet   Creado_tweet    Locacion_usuario    Seguidores_usuario  Amigos_usuario  Favoritos_usuario   Descripcion_usuario     Verificado_usuario  Idioma
0   1206924075374956547     Las feminazis quieren por poco que este chico ...   2019-12-17 13:08:17+00:00   Argentina   1683    2709    28982   El Progresismo es un Cáncer que quiere destrui...   False   es
1   1210912199402819584     @CarlosVerareal @Galois2807 Los halagos con pi...   2019-12-28 13:15:40+00:00   Ecuador     398     1668    3123    Cuando te encuentres n una situación imposible...   False   es
2   1210643148998938625     @drummniatico No se vaya asustar! Ese es el gr...   2019-12-27 19:26:34+00:00   Samborondon - Ecuador   1901    1432    39508   Todo se alinea a nuestro favor. 💙💙💙💙    False   es
3   1210643148998938625     @drummniatico No se vaya asustar! Ese es el gr...   2019-12-27 19:26:34+00:00   Samborondon - Ecuador   1901    1432    39508   Todo se alinea a nuestro favor. 💙💙💙💙    False   es
4   1203627609759920128     Mostritas #Feminazi amenazando como ellas sabe...   2019-12-08 10:49:19+00:00   Lima, Perú  2505    3825    45087   Latam News Report. Regional and World affairs....   False

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM