libere-tes-chaine-de-mots/import_data/26_importation_threads.py

50 lines
1.6 KiB
Python
Raw Permalink Normal View History

import pandas as pd
import json
import os
from pathlib import Path
from utils.documents_to_database import documents_to_database
from utils.convert_encoding_meta import convert_encoding_meta
#%% In[ ]:
# Get the current file's directory
try:
# This will work when running as a script
script_dir = Path(__file__).parent.parent
except NameError:
# This will work in interactive environments
script_dir = Path().absolute()
project_root = script_dir
instagram_data_path = os.path.join(project_root, 'import_data', 'data', 'Instagram', 'threads', 'threads_and_replies.json')
2024-10-04 02:30:39 +00:00
with open(instagram_data_path, "r") as posts:
post_comments_1 = json.loads(convert_encoding_meta(posts.read()))
#%% In[ ]:
threads_comments = []
for post in post_comments_1['text_post_app_text_posts']:
for element in post['media']:
threads_comments.append({"texte": element['title'],
'creation_timestamp': element['creation_timestamp'],
"chemin": instagram_data_path,
"index": "rs_instagram_threads",
"type": "posts",
2024-10-04 02:30:39 +00:00
"network": "Threads"})
#%% In[ ]:
ig_comments_df = pd.DataFrame(threads_comments)
#%% In[ ]:
ig_comments_df.fillna(value="", inplace=True)
#%% In[ ]:
ig_comments_df.drop_duplicates(subset=['texte', 'creation_timestamp'], inplace=True)
#%% In[ ]:
# Filter empty texte
ig_comments_df = ig_comments_df[~ig_comments_df['texte'].str.strip('\n').str.strip().eq('')]
#%% In[ ]:
documents_to_database(ig_comments_df)