Discussion Utilisateur:Probot/ArticlesRecents
Un article de Wikipédia, l'encyclopédie libre.
[modifier] getWhatlinkshere
La récupération de la liste avec une expression régulière.
def getWhatlinkshere(pageName): conn = httplib.HTTPConnection('fr.wikipedia.org') # attention, s'il y a plus de 5000 articles liés, il faut changer l'offset ci-dessous # (5000 = limite sur Wikipédia lors de la création d'une liste) conn.request('GET', "/w/wiki.phtml?title=Special:Whatlinkshere&target=%s&limit=5000&offset=0&action=edit" % pageName) # connexion serveur et lecture reponse = conn.getresponse() article = reponse.read() # expressions régulieres pour récuperer l'article #<!-- start content --> debut = re.search('<!-- start content -->', article).end() fin = re.search('<!-- end content -->', article).start() contenu = article[debut:fin] debut = re.search('.<ul>', contenu).end() fin = re.search('</ul>\nV', contenu).start() contenu = contenu[debut:fin] #print contenu[debut:fin] # recupère tous les nom de pages regex = re.compile(' title="([^"]*)"') elements = regex.findall(contenu) result = [] # mise en forme du résultat for name in elements: if name == "": continue name = urllib.unquote(name) name = unicode(name, 'utf-8') # fixe quelques entitées html name = name.replace('<', '<') name = name.replace('>', '>') name = name.replace(''', "'") name = name.replace('"', '"') name = name.replace('&', '&') # doit être dernier print name result.append(name) return result