######### Mon code #! /usr/bin/env python # -*- coding: utf-8 -*- import re import os from BeautifulSoup import BeautifulSoup from BeautifulSoup import BeautifulStoneSoup from htmlentitydefs import name2codepoint import urllib2 def getpage(url): request_headers = { 'User-Agent': 'NothingButMe/0.0.1' } request = urllib2.Request(url, None, request_headers) urlfile = urllib2.urlopen(request) return urlfile.read() # Téléchargement du fichier page=getpage("http://fr.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Wikip%C3%A9dia:AutoWikiBrowser/Typos&rvprop=content&format=xml") # Premier traitement, obtenir le contus entre soup=BeautifulStoneSoup(page) # Il semblerait que ca soit quelque chose comme : soup.api.query.pages.page.revisions.rev pat=re.compile("&(\w+);") def repl(m): ent=m.group(1) if name2codepoint.has_key(ent): return unichr(name2codepoint[ent]) else: return u'?' temp=soup.api.query.pages.page.revisions.rev # Ouverture du fichier en écriture writer=open('list-ok.txt', 'w') print dir(temp) for i in temp: text=pat.sub(repl, i) ## On extrait ce qui nous intéresse regex=re.match(r"",text) # Le mot : regex.group(1) # On recherche : regex.group(2) # On renplace par : regex.group(3) ## On remplace les $ par des \ if regex: temp1=re.sub(r"\$", r"\\", regex.group(2)) temp2=re.sub(r"\$", r"\\", regex.group(3)) #Et maintenant on écrit la liste comme elle doit ressembler writer.write(" (r'" + temp1 + "', r'" + temp2 + "')," + os.linesep) writer.close # Voila le contenus de i : ===W===

===X===

===Y===

===Z===


# En beaucoups plus long...