Recherche des cookies OK. Utilisation d'argparse et suppression de settings.py
This commit is contained in:
parent
6f7028bb0e
commit
ac82d33c3a
50
README.md
50
README.md
|
@ -34,7 +34,7 @@ exemple) pour s'assurer que les registres restent à jour.
|
|||
|
||||
### Logiciels
|
||||
- Git
|
||||
- Python 3.6
|
||||
- Python 3.6+
|
||||
- Virtualenv
|
||||
|
||||
Testé uniquement sur GNU/Linux (Ubuntu 18.4)
|
||||
|
@ -65,45 +65,43 @@ pip install -r requirements.txt
|
|||
|
||||
## Utilisation
|
||||
|
||||
Le fichier ```purge-registres-deces-insee/settings.py``` contient les
|
||||
paramètres à configurer :
|
||||
Aller sur le [site de l'Église](https://lcr.churchofjesuschrist.org),
|
||||
et se connecter au compte SDJ. Puis lancer le script.
|
||||
|
||||
```bash
|
||||
source localenv/bin/activate
|
||||
python purge-registres-deces-insee/trouver_deces.py chemin_base_donnees chemin_repertoire_sortie numeros_unites
|
||||
```
|
||||
|
||||
Avec :
|
||||
|
||||
- chemin_base_donnees : Le chemin vers le [fichier
|
||||
téléchargé](https://git.roflcopter.fr/sdjgeek/purge-registres-deces-insee/-/wikis/home#t%C3%A9l%C3%A9charger-la-base-de-donn%C3%A9e)
|
||||
|
||||
- chemin_repertoire_sortie : Le chemin vers le répertoire qui
|
||||
contiendra la fichiers de sortie
|
||||
|
||||
- numeros_unites : La liste des unités que le programme doit
|
||||
tester. La liste commence par le caractère '['. Les numéros d'unités
|
||||
sont séparés par des virgules. La liste se termine par le caractère
|
||||
']'. Par exemple [47823, 67745, 31456]
|
||||
|
||||
- cookie : Les cookies de la session au compte SDJ. Pour obtenir ces
|
||||
cookies il faut :
|
||||
Le script devrait trouver seul le cookie de session permettant de
|
||||
consulter la liste des membres. Mais en cas d'échec, il est possible
|
||||
de lui donner le chemin vers le fichier SQLite que Firefox utilise
|
||||
pour stocker les cookies avec l'option '-c'. En règle générale ce
|
||||
fichier se trouve le répertoire :
|
||||
|
||||
1- Ouvrir Firefox
|
||||
- sur linux :
|
||||
"~/.mozilla/firefox/<un_code_étrange>.default/cookies.sqlite"
|
||||
|
||||
2- Ouvrir les outils de développement : CTRL + MAJ + E
|
||||
- sur windows :
|
||||
"C:\Users\<nom_utilisateur>\AppData\Local\Mozilla\Firefox\Profiles\<un_code_étrange>.default\cookies.sqlite"
|
||||
|
||||
3- Aller sur le site des outils pour greffiers : https://lds.org/lcr
|
||||
|
||||
4- Entrer identifiant et mot de passe SDJ
|
||||
|
||||
5- Aller dans la liste des membres
|
||||
|
||||
6- Dans l'outil de développement, cliquer sur la dernière ligne
|
||||
|
||||
7- Dans le panneau de droite, dans la section "En-tête de la requête",
|
||||
rechercher le champ "cookie"
|
||||
|
||||
8- Copier la valeur contenue dans ce champ
|
||||
|
||||
- chemin_repertoire_sortie : Le chemin vers le répertoire qui
|
||||
contiendra la fichiers de sortie
|
||||
|
||||
Une fois la configuration effectuée, lancer le script :
|
||||
Par exemple :
|
||||
|
||||
```bash
|
||||
. localenv/bin/activate
|
||||
python purge-registres-deces-insee/trouver_deces.py
|
||||
python purge-registres-deces-insee/trouver_deces.py ~/Documents/fichier-des-personnes-decedees.sqlite ~/Documents/ 123,854 -c ~/.mozilla/firefox/8h3jsedf.default/cookies.sqlite
|
||||
```
|
||||
|
||||
Le script mettra un peu de temps à s'exécuter. En fin d'exécution, le
|
||||
|
|
|
@ -24,8 +24,8 @@ class SiteEglise:
|
|||
"""
|
||||
r = requests.get('https://lcr.churchofjesuschrist.org/services/umlu/report/member-list',
|
||||
params={'lang': "fra", 'unitNumber': unit_number},
|
||||
headers={'Accept': "application/json",
|
||||
'Cookie': self.cookie_jar})
|
||||
headers={'Accept': "application/json"},
|
||||
cookies=self.cookie_jar)
|
||||
r.raise_for_status()
|
||||
return r.json()
|
||||
|
||||
|
@ -39,7 +39,7 @@ class SiteEglise:
|
|||
r = requests.get(f'https://lcr.churchofjesuschrist.org/records/member-profile/service/{member_id}',
|
||||
params={'lang': "fra"},
|
||||
headers={'Accept': "application/json",
|
||||
'Cookie': self.cookie_jar,
|
||||
'Referer': f"https://lcr.churchofjesuschrist.org/records/member-profile/{member_id}?lang=fra"})
|
||||
'Referer': f"https://lcr.churchofjesuschrist.org/records/member-profile/{member_id}?lang=fra"},
|
||||
cookies=self.cookie_jar)
|
||||
r.raise_for_status()
|
||||
return r.json()
|
||||
|
|
|
@ -45,7 +45,6 @@ import requests
|
|||
|
||||
from bdd_insee import BddInsee
|
||||
from site_eglise import SiteEglise
|
||||
import settings as param
|
||||
|
||||
|
||||
def trouver_decedes(chemin_base_donnees, numeros_unites, chemin_repertoire_sortie, cookie_path=None):
|
||||
|
@ -116,4 +115,10 @@ décédé{feminin} le {person.jour_deces:0>2}/{person.mois_deces:0>2}/{person.an
|
|||
|
||||
|
||||
if __name__ == "__main__":
|
||||
trouver_decedes(param.chemin_base_donnees, param.numeros_unites, param.chemin_repertoire_sortie, param.cookie)
|
||||
parser = argparse.ArgumentParser(description='Recherche des personnes décédées dans les registres.')
|
||||
parser.add_argument('chemin_base_donnees', type=str, help="chemin vers la base de données")
|
||||
parser.add_argument('chemin_repertoire_sortie', type=str, help="chemin vers le répertoire de sortie")
|
||||
parser.add_argument('numeros_unites', type=str, help="numéros des l'unités à traiter, séparés par des virgules (ex: 123,753,469)")
|
||||
parser.add_argument('--cookie', '-c', type=str, help='chemin vers la base de donnée des cookies de Firefox')
|
||||
args = parser.parse_args()
|
||||
trouver_decedes(args.chemin_base_donnees, args.numeros_unites.split(','), args.chemin_repertoire_sortie, args.cookie)
|
||||
|
|
Loading…
Reference in New Issue