def ProjetEncadre2(

nom="Extraction du contenu textuel de fils RSS"

def bao1():

Extraction textuelle à partir de fichiers rss dans une arborescence.

La tâche se divise en deux aspects, le parcours de l'arborescence et l'extraction textuelle d'un fil rss.

#---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#

def python():

***********

Extraction
	

def extraction_format(doc, forma):
		
	#Initialistation de la variable prenant le contenu de la sortie xml, avec l'entête et la balise ouvrante du corpus
	output_xml="""<?xml version="1.0" encoding="UTF-8"?>\n<corpus>\n"""
	#Initialistation de la variable prenant le contenu de la sortie txt
	output_txt=""
			
			
	#Parcours d'un fil rss
	for m in re.finditer(forma,doc):
		#Attribution des groupes à des variables correspondant au contenu
		titre=m.group(1)
		desc=m.group(2)
		#Concaténation du contenu aux variables des documents, avec formattages respectifs
		output_xml+=f'<item>\n<titre>{titre}</titre>\n<description>{desc}</description>\n</item>\n'
		output_txt+=f'Titre :\n{titre}\n\nDescription :\n{desc}\n--------\n\n'
		
	#Fermeture de la balise corpus dans la variable de la sortie xml
	output_xml+='</corpus>'
	
	#Ecriture de la sortie xml
	f=open("extraction_BAO1.xml","w",encoding="UTF-8")
	f.write(output_xml)
	f.close()
	
	#Ecriture de la sortie txt
	f=open("extraction_BAO1.txt","w",encoding="UTF-8")
	f.write(output_txt)
	f.close()

	return output_xml, output_txt
Parcours

def parcours_arborescence_rubrique(fichier,rubrique):
		#Utilisation du module path pour créer un objet facilement manipulable
		p = Path(fichier)
		rub=re.compile(rubrique)
		doc=""
		
		#Parcours de l'arborescence
		for file in p.iterdir():
			if file.is_file():
				if re.search(rub,file.name):
					f=open(file,"r",encoding="UTF-8")
					d="".join(f.readlines())
					f.close()
					doc+=d
			elif file.is_dir():
				doc+=parcours_arborescence_rubrique(file,rubrique) #Recusrif
		return doc
Programme
	
def bao1(arbo,rubrique,regex):
		doc=parcours_arborescence_rubrique(arbo, rubrique)
		xml, txt = extraction_format(doc,regex)
		return xml, txt
	
	if __name__=="__main__":
		#Regex prenant le contenu des titres et description (en prenant en compte les balises CDATA)
		reg=re.compile("<item><title><!\[CDATA\[(.*?)\]\]></title>.*?<description><!\[CDATA\[(.*?)\]\]></description>")
		
		dossier=sys.argv[1]
		rubrique=sys.argv[2]
		
		bao1(dossier, rubrique, reg)
commande
python3 bao10py Arbo Rubrique

return script, résultats