Cet article est obsolète, vous pouvez lire l’ Article mis à jour pour l’ODS8
L’Officiel du Scrabble® est le dictionnaire officiel du jeu de Scrabble® francophone depuis le 1er janvier 1990. Il est édité par Larousse et est couramment appelé « ODS » par les scrabbleurs.
2016 voit l’entrée en vigueur de l’ODS7…
Sur le site de la fédération on peut lire :
Qui contacter pour distribuer/vendre un ouvrage ou autre produit utilisant la base de mots de l’Officiel du Scrabble® ?
Tout auteur souhaitant distribuer/vendre un ouvrage ou autre produit (hors application pour Smartphone), utilisant une base de mots conforme à l’Officiel du Scrabble®, doit remplir un contrat de partenariat qui lui sera envoyé sur demande faite auprès de la FISF, à l’adresse suivante : contact@fisf.net
Toute société souhaitant distribuer/vendre un produit numérique privé/grand public sécurisé du type application pour Smartphone, utilisant une base de mots conforme à l’ODS, doit contacter Jean-François Richez, responsable des licences numériques chez Larousse, à l’adresse suivante : JFRICHEZ@larousse.fr
Voilà, mais pour des besoins pédagogiques (formation algorithme au cycle 4) j’avais besoin d’une liste de mots en .txt
Remarque : Je dis bien liste de mots (et non dictionnaire). Et les mots sont à tout le monde…
En effet j’envisage de faire travailler des élèves de 4ème, 3ème sur le développement d’algorithmes divers ayant pour base des jeux de lettres :
- Boggle
- Scabble
- Pendu
- etc…
Après quelques recherches sur la toile, je me suis aperçu que le fichier txt que je cherchais n’existait pas. Mais que quelques sites proposaient des listes (en html multi-pages. )
Ainsi le très bon listesdemots.net vous propose de nombreuses liste de mots. (898 pages)
Il était donc possible mais fastidieux de créer un fichier txt en copiant collant toutes ces listes !
Pas si fastidieux si on a Python sous le coude !
#wouf 2018 (py3.6.4) #http://site2wouf.fr #Pour créer dico.txt #Qui contient un lexique basé sur #ODS7 #En scollant le site : listesdemots.net #requis :l beautifulsoup4 #(cmd : pip install beautifulsoup4) import requests from bs4 import BeautifulSoup fichier = open("dico.txt", "w") # Initialisation: url="https://www.listesdemots.net/touslesmots" requete = requests.get(str(url+".htm")) #page1 print(requete.url) page = requete.content soup = BeautifulSoup(page,features="html5lib") span = soup.find("span", {"class": "mot"}) mots=span.string.strip() lesmots=mots.split(" ") for l in lesmots: fichier.write(l+"\n") print("|",end="") print() print("page 1 : OK ("+str(len(lesmots))+")") totalmot=len(lesmots) fichier.close() #page 2 à 8998: for i in range(2,899): fichier = open("dico.txt", "a") lurl=url+"page"+str(i)+".htm" ok=False while not ok: try: requete = requests.get(lurl,timeout=1) ok=True except: print("Problème de connexion. Je recommence !") print(requete.url) page = requete.content soup = BeautifulSoup(page,features="html5lib") span = soup.find("span", {"class": "mot"}) mots=span.string.strip() lesmots=mots.split(" ") for l in lesmots: fichier.write(l+"\n") print("|",end="") totalmot+=len(lesmots) print() print("page "+str(i)+" : OK ("+str(len(lesmots))+"/"+str(totalmot)+")") fichier.close() #fin du scipt: print("mots :",totalmot)
Ce script produit en quelques minutes un fichier txt (avec un mot par ligne) contenant les 402 503 mots du site !
En cas de mauvaise connexion, pas de souci, le script gère ! Le temps de génération du fichier txt sera sensiblement plus long !
Enjoy !
Un tout grand merci pour ce précieux tuto, je cherchais justement l’ODS en txt.
Je vous relaie mes observations :
Il manque chez moi un
#!/usr/bin/env python
# -*- coding: utf-8 -*-
en tête de fichier avant import pour que ça marche,
et j’ai ensuite une erreur
File « lexique.py », line 20
print(« | »,end= » »)
^
SyntaxError: invalid syntax
Comme je ne fais pas de Python, aucune idée de comment résoudre ce petit souci de syntaxe… Pouvez-vous me donner un ultime coup de pouce, svp? 🙂
Problème ce n’est manifestement pas l’ODS7 puisqu’il contient plus de mots …
J’ai trouvé ! Ca marche mieux quand on exécute en python3 !
Merci 😉
Il est vrai que j’aurais dû le mentionner !
Un grand merci !!
Merci! Sont inclus dans la liste des mots de plus de 15 lettres (pluriels etc), mais il s’agit bien de l’Ods7.
Bonjour,
Je viens de lancer votre script.
Je n’y connais rien en Python. Il semblerait qu’il construise un fichier dico.txt non ?
Où ce fichier sera-t-il enregistré ?
Merci de m’aider.
Cordialement.
bonjour. le fichier sera dans le même repertoire que le script !