Bonjour,
Après plusieurs recherches de questions parlementaires à partir de Tiresias, il semble que, dans le cas de l'Assemblée nationale uniquement, le résultat de la recherche retourne à chaque fois les questions écrites de 2012 (13e législature) quelque soit la législature sélectionnée (voir image ci-dessous). Est-ce moi qui ne sait pas utiliser Tiresias ? Est-ce un problème d'url qui a changé ? Ou est-ce plus compliqué que ça ?
Je précise que j'ai téléchargé la dernière version disponible sur le github de Josquin: https://github.com/josquindebaz/Tiresias
Tiresias : Questions parlementaires
Tiresias : Questions parlementaires
- Attachments
-
- Capture d’écran 2021-11-10 171854.png (568.8 KiB) Viewed 39252 times
Re: Tiresias : Questions parlementaires
J'ai regardé un peu, est-ce que ça peut venir d'un éventuel token ?
Quand on regarde l'url des pages (1, 2, 3, 4, 5, 6, suivant), on obtient cela :
https://www2.assemblee-nationale.fr/rec ... BkZXNjIn0=
En testant le code ci-dessous, il semble qu'on obtient les résultats désirés. La difficulté est de savoir quand ce token change. Par exemple, ce n'est pas le même entre la 10e législature et la 15e législature.
################
import re
import requests
def getpage(leg, words):
url = "https://www2.assemblee-nationale.fr/rec ... _questions"
token = "eyJxIjoibGVnaXNsYXR1cmU6MTUgYW5kIHNzVHlwZURvY3VtZW50OihxZSBPUiBxZyBPUiBxb3NkKSBhbmQgY29udGVudToocGVzdGljaWRlcykiLCJyb3dzIjoiMjUiLCJzb3J0Ijoic3NUeXBlRG9jdW1lbnQgYXNjLCBudW1Eb2N1bWVudCBkZXNjIn0="
formData = (
('legislature', leg),
('q', words),
('q_in', 0),
("limit", 25),
)
with requests.Session() as s:
url2 = f'{url}/{token}'
s.get(url2)
formule_data = {'legislature': leg, 'q': words, 'q_in': 0, 'limit': 25}
r = s.post(url2, data = formule_data)
return r.text
leg = "15"
words = "glyphosate"
html = getpage(leg, words)
print(html)
################################
Quand on regarde l'url des pages (1, 2, 3, 4, 5, 6, suivant), on obtient cela :
https://www2.assemblee-nationale.fr/rec ... BkZXNjIn0=
En testant le code ci-dessous, il semble qu'on obtient les résultats désirés. La difficulté est de savoir quand ce token change. Par exemple, ce n'est pas le même entre la 10e législature et la 15e législature.
################
import re
import requests
def getpage(leg, words):
url = "https://www2.assemblee-nationale.fr/rec ... _questions"
token = "eyJxIjoibGVnaXNsYXR1cmU6MTUgYW5kIHNzVHlwZURvY3VtZW50OihxZSBPUiBxZyBPUiBxb3NkKSBhbmQgY29udGVudToocGVzdGljaWRlcykiLCJyb3dzIjoiMjUiLCJzb3J0Ijoic3NUeXBlRG9jdW1lbnQgYXNjLCBudW1Eb2N1bWVudCBkZXNjIn0="
formData = (
('legislature', leg),
('q', words),
('q_in', 0),
("limit", 25),
)
with requests.Session() as s:
url2 = f'{url}/{token}'
s.get(url2)
formule_data = {'legislature': leg, 'q': words, 'q_in': 0, 'limit': 25}
r = s.post(url2, data = formule_data)
return r.text
leg = "15"
words = "glyphosate"
html = getpage(leg, words)
print(html)
################################
- Attachments
-
- test_qp.py
- (807 Bytes) Downloaded 2225 times
Re: Tiresias : Questions parlementaires
effectivement, il y a ajout d'un token de protection
je crois que c'est lié au CMS qu'ils utilisent,
ce serait tellement plus simple de mettre en place une API publique
je crois que c'est lié au CMS qu'ils utilisent,
ce serait tellement plus simple de mettre en place une API publique
Who is online
Users browsing this forum: No registered users and 1 guest