[(#REM)
affichage en boucle DATA des premières et dernières lignes des fichiers JSONL stockés dans un répertoire corpus
on fait tout un tas de traitements en fonction du type de donnée par champ pour essayer d'afficher qq chose de "lisible par un humain"
]
Extraction des contenus d'un lot de fichiers JSONL
Chargement des fichiers Jsonl après leur décompaction et récupération de "contenus significatifs"
Nombre de lignes configuré par le "pas" de l'itération dans les pages : ici #CONFIG{corpus_web/pas_corpus, 10} (1 = toutes les pages, 10 = 1 page sur 10...)
pour mémoire : 1 ligne du fichier JSONL = 1 page HTML du site aspiré/archivé
-
#SET{liste_lignes,#LISTE{1}} #SET{trop_gros,#CONFIG{corpus_web/taille_max}|mult{1000000}} [(#REM) trop gros = 100Mo ]
#SET{nb_lignes, #FILE|nombre_ligne} [(#GET{nb_lignes}|!={1}|oui) #SET{liste_lignes,#LISTE{1,#GET{nb_lignes}}}]
[(#FILE|basename)] ([(#FILE|basename|recup_site)] / [(#FILE|basename|recup_aspi)]): [(#GET{nb_lignes}) [(#GET{nb_lignes}|singulier_ou_pluriel{page,pages})]] ([(#SIZE|human_filesize)o])
[ (#SIZE|>{#GET{trop_gros}}|oui)
fichier trop gros pour traitement basique
]
[(#REM)
{liste #GET{liste_lignes}}
]
[(#SET{num_ligne,[(#COMPTEUR_BOUCLE|=={1}|?{1,#GET{nb_lignes}})]})]
Page #VALEUR :
[(#SET{content,[(#FILE|affiche_ligne{#GET{num_ligne}}|json_decode{true})]})]
[(#CLE|=={htmlBytes}|oui)
[(#REM)
-
Title : [(#VALEUR|base64_decode|affiche_title)]
]
-
[(#CLE)] = HTML de la page (clic pour visualiser)
-
Titres :
[(#VALEUR|base64_decode|recup_titres)]
]
[(#CLE|=={extractionContent}|oui)
[(#CLE|in_array{#LISTE{boilerpipe:text, htmlmeta:head:title, htmlmeta:head:keywords, htmlmeta:head:description}}|oui)
-
[(#CLE|replace{htmlmeta:head:, meta }|replace{boilerpipe:, ''}|ucfirst)] :
[(#VALEUR|print|replace{
,§§}|replace{
,§§}|replace{<,<}|replace{>,>}|replace{§§,
}|replace{"\n",
})]
]
]