Skip to content

Instantly share code, notes, and snippets.

@lucasgautheron
Created June 10, 2018 22:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lucasgautheron/6971cc424a6a160ce8d579a6a619cbe8 to your computer and use it in GitHub Desktop.
Save lucasgautheron/6971cc424a6a160ce8d579a6a619cbe8 to your computer and use it in GitHub Desktop.
import json
import urllib.request
import unidecode
import pathlib
def slugify(s):
s = unidecode.unidecode(s).lower().replace(' ', '+')
return s
def create_dir(d):
pathlib.Path(d).mkdir(parents=True, exist_ok=True)
def fetch_deputes(group):
content = urllib.request.urlopen("https://www.nosdeputes.fr/groupe/" + group + "/json").read().decode('utf-8')
elements = json.loads(content)
return elements['deputes']
def fetch_interventions(name):
slug = slugify(name)
create_dir(slug)
content = urllib.request.urlopen("https://www.nosdeputes.fr/recherche/?object_name=Intervention&format=json&count=10000&tag=parlementaire=" + slug).read().decode('utf-8')
elements = json.loads(content)
for e in elements['results']:
url = e['document_url']
urllib.request.urlretrieve(url, slug + '/' + str(e['document_id']))
return elements
groups = ['LREM', 'MODEM', 'UAI', 'NG', 'LR', 'LFI', 'GDR', 'NI']
for g in groups:
deputes = fetch_deputes(g)
for d in deputes:
print(fetch_interventions(d['depute']['nom']))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment