12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- # coding: utf-8
- import json
- import sys
-
- import bs4 as BeautifulSoup
- import requests
-
- data = {
- "comitesDeQuartier": {
- "Ferry-Buffalo": [],
- "Jean Jaurès": [],
- "Plein Sud": [],
- "Portes de Montrouge": [],
- "Montrouge Est": [],
- "Vieux Montrouge": [],
- },
- "conseilsMunicipaux": []
- }
-
- # Get Conseils Municipaux
- r = requests.get(
- "https://www.ville-montrouge.fr/621-les-seances-publiques-et-deliberations.htm"
- )
- soup = BeautifulSoup.BeautifulSoup(r.text, features='lxml')
- main= soup.find('main', attrs={"id": "corps"})
- table = main.find('table')
- a = table.findAll('a')
- data["conseilsMunicipaux"] = ["https://www.ville-montrouge.fr" + x.attrs['href'] for x in a]
-
- # Handle Comités de Quartier
- URLS = {
- "Ferry-Buffalo": "https://www.ville-montrouge.fr/688-comite-ferry-buffalo.htm",
- "Jean Jaurès": "https://www.ville-montrouge.fr/689-comite-jean-jaures.htm",
- "Plein Sud": "https://www.ville-montrouge.fr/692-comite-plein-sud.htm",
- "Portes de Montrouge": "https://www.ville-montrouge.fr/690-comite-portes-de-montrouge.htm",
- "Montrouge Est": "https://www.ville-montrouge.fr/691-comite-montrouge-est.htm",
- "Vieux Montrouge": "https://www.ville-montrouge.fr/693-comite-vieux-montrouge.htm",
- }
- for (k, url) in URLS.items():
- r = requests.get(url)
- soup = BeautifulSoup.BeautifulSoup(r.text, features='lxml')
- div = soup.find('div', attrs={"class": "enSavoirPlusParagraphe PRS_ENCADRE txt"})
- if div:
- a = div.findAll('a')
- data["comitesDeQuartier"][k] = ["https://www.ville-montrouge.fr" + x.attrs['href'] for x in a]
-
- dump = json.dumps(data, sort_keys=True,
- indent=4, separators=(',', ': '))
- try:
- with open('lastrun.json', 'r') as fh:
- lastrun = fh.read()
- # If something changed, print the fetched data and exit 1 to ensure chronic
- # sends an email.
- if lastrun != dump:
- print(dump)
- sys.exit(1)
- except IOError:
- pass
-
- with open('lastrun.json', 'w') as fh:
- fh.write(dump)
|