besoin des articles de la la constitution sous format standarisé xml, json, csv .. etc ? #TnConstit #TnAC #RTPlease
— Aymen AMRI eon (@eon01) 11 Janvier 2014
Je vais y répondre :-)J'ai scrappé le contenu de marsad.tn avec un script python, qui va mettre les articles dans 5 fichiers CSV (lien de téléchargement).
Le script est le suivant :
#!/usr/bin/pythonExécuter ce code va créer ou écraser des fichiers, chacun d'entre eux sera consacré à un chapitre:
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import urllib2
__author__ = "Aymen Amri"
__email__ = "[email protected]"
for counter in range (1, 6):
counter = str(counter)
baseUrl="http://www.marsad.tn/constitution/4/chapitre/"
url = baseUrl + counter
constFile = urllib2.urlopen(url)
constHtml = constFile.read()
soup = BeautifulSoup(constHtml)
constArt = soup.find_all("div")
articles = soup.findAll('div', { "class" : "clear texte" })
titles = soup.findAll('h4', { "class" : "clearfloat" })
print "."* int(counter)
import csv
fileName= counter +".csv"
w = csv.writer(open(fileName, "w"))
for article, title in zip(articles, titles):
textTitle = "".join(title.findAll(text=True))
textArticle = "".join(article.findAll(text=True))
out = [textTitle.encode('utf-8'), textArticle.encode('utf-8')]
w.writerow(out)
1.csv pour le premier chapitre, 2.csv pour le deuxième et ainsi de suite.
Le résultat sera formaté comme suit:
الفصل 1,"تونس دولة حرّة، مستقلّة، ذات سيادة، الإسلام دينها، والعربية لغتها، والجمهورية نظامها.
لا يجوز تعديل هذا الفصل. "
الفصل 2,"تونس دولة مدنية، تقوم على المواطنة، وإرادة الشعب، وعلوية القانون.
لا يجوز تعديل هذا الفصل."
الفصل 3,الشعب هو صاحب السيادة ومصدر السلطات، يمارسها بواسطة ممثليه المنتخبين أو عبر الاستفتاء.
الفصل 4,"علم الجمهورية التونسية أحمر، يتوسطه قرص أبيض به نجم أحمر ذو خمسة أشعة يحيط به هلال أحمر حسبما يضبطه القانون.
Vous pouvez trouver ce petit script sur gist.github.com et pour le téléchargement c'est par ici .
Pour l’exécuter, python est essentiel bien sûr, ainsi que beautifulsoup4 :
# apt-get install python-bs4
Ensuite :
$ chmod + x dostour.pyCheers .
$ python dostour.py
photo via