Skip to content
Extraits de code Groupes Projets
Valider b7a35e56 rédigé par Bastien Le Querrec's avatar Bastien Le Querrec
Parcourir les fichiers

pref83: réduit le nombre de requêtes

parent e2c2a562
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -11,14 +11,7 @@ class Attrap_pref83(Attrap):
# Config
hostname = 'https://www.var.gouv.fr'
raa_page = {
'2024': f'{hostname}/Publications/RAA-Recueil-des-actes-administratifs/Recueil-des-actes-administratifs-2024',
'2023': f'{hostname}/Publications/RAA-Recueil-des-actes-administratifs/Recueil-des-actes-administratifs-2023',
'2022': f'{hostname}/Publications/RAA-Recueil-des-actes-administratifs/Recueil-des-actes-administratifs-2022',
'2021': f'{hostname}/Publications/RAA-Recueil-des-actes-administratifs/Recueil-des-actes-administratifs-2021',
'2020': f'{hostname}/Publications/RAA-Recueil-des-actes-administratifs/Recueil-des-actes-administratifs-2020',
'2019': f'{hostname}/Publications/RAA-Recueil-des-actes-administratifs/Recueil-des-actes-administratifs-2019'
}
raa_page = f'{hostname}/Publications/Recueil-des-actes-administratifs'
user_agent = 'Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0'
full_name = 'Préfecture du Var'
short_code = 'pref83'
......@@ -29,38 +22,39 @@ class Attrap_pref83(Attrap):
self.set_sleep_time(30)
def get_raa(self, keywords):
year_pages_to_parse = []
# On détermine quelles pages d'année parser
page_content = self.get_page(self.raa_page, 'get').content
for year_page in self.get_sub_pages(
page_content,
'div.fr-card__body div.fr-card__content h2.fr-card__title a',
self.hostname,
False
):
year = Attrap.guess_date(year_page['name'].strip(), 'Recueil des actes administratifs ([0-9]{4})').year
if year < 9999 and year >= self.not_before.year:
year_pages_to_parse.append(year_page['url'])
pages_to_parse = []
if self.not_before.year <= 2024:
pages_to_parse.append(self.raa_page['2024'])
if self.not_before.year <= 2023:
pages_to_parse.append(self.raa_page['2023'])
if self.not_before.year <= 2022:
pages_to_parse.append(self.raa_page['2022'])
if self.not_before.year <= 2021:
pages_to_parse.append(self.raa_page['2021'])
if self.not_before.year <= 2020:
pages_to_parse.append(self.raa_page['2020'])
if self.not_before.year <= 2019:
pages_to_parse.append(self.raa_page['2019'])
sub_pages_to_parse = []
# Pour chaque année, on cherche les sous-pages de mois
for raa_page in pages_to_parse:
sub_pages_to_parse.append(raa_page)
for raa_page in year_pages_to_parse:
pages_to_parse.append(raa_page)
page_content = self.get_page(raa_page, 'get').content
month_pages = self.get_sub_pages(
for month_page in self.get_sub_pages(
page_content,
'.fr-card.fr-card--sm.fr-card--grey.fr-enlarge-link div.fr-card__body div.fr-card__content h2.fr-card__title a',
self.hostname,
False
)[::-1]
for month_page in month_pages:
sub_pages_to_parse.append(month_page['url'])
)[::-1]:
card_date = Attrap.guess_date(month_page['name'].strip(), '(.*)').replace(day=1)
if card_date >= self.not_before.replace(day=1):
pages_to_parse.append(month_page['url'])
# On parse les pages contenant des RAA
elements = self.get_raa_with_pager(
sub_pages_to_parse[::-1],
pages_to_parse[::-1],
'.fr-pagination__link.fr-pagination__link--next',
self.hostname
)
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter