Bonsoir,
Toujours pour le plaisir, je souhaite tenter de parser des fichiers.
Le programme que j'employais jusqu'à présent ne fonctionne plus suite à une refonte du site "marmiton" (refonte qui a lieu régulièrement tous les 6 mois ou tous les ans).
Derrière, j'utilise LaTeX qui me crée un pdf de la recette.
Je vous propose le programme suivant qui fonctionne mais qui me semble peu efficace (basé sur ce que je faisais jusqu'à présent).
J'imagine qu'il y a beaucoup mieux via les regex (je suis allergique) ou HTMLParser.
Si vous avez des idées, je suis preneur...
Bien entendu, si qqn souhaite le programme une fois fini, je le livrerai.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 #!/usr/bin/python # -*- coding: utf-8 -*- #url = "http://www.marmiton.org/recettes/recette_flan-aux-oeufs-maison_86967.aspx" url = "http://www.marmiton.org/recettes/recette_cookies-maison_86989.aspx" import urllib from bs4 import BeautifulSoup import json f = urllib.request.urlopen(url) src = f.read() g = open("recette_0.txt","wb") g.write(src) g.close() soup = BeautifulSoup(src,"lxml") ensemble = soup.find( "script", type = "application/ld+json" ) recette = (str(ensemble))[58:-22] print(recette) dic_recette = json.loads(recette) print(type(recette)) print(dic_recette) print(type(dic_recette)) print(dic_recette["name"]) print(dic_recette["recipeYield"])
Partager