Skip to content
Extraits de code Groupes Projets

Comparer les révisions

Les modifications sont affichées comme si la révision source était fusionnée avec la révision cible. En savoir plus sur la comparaison des révisions.

Source

Sélectionner le projet cible
No results found

Cible

Sélectionner le projet cible
  • la-quadrature-du-net/Attrap
  • foggyfrog/Attrap
  • skhwiz/Attrap
  • precambrien/Attrap
  • ketsapiwiq/Attrap
  • Joseki/Attrap
  • kr1p/attrap-pref-12
  • kr1p/attrap-pref-46
  • kr1p/attrap-pi
  • Guinness/Attrap
  • astroidgritty/attrap-pref-84
  • davinov/Attrap
  • maettellite/attrap-pref-01
  • m242/Attrap
  • multi/Attrap
  • mverdeil/Attrap
  • olpo/Attrap
17 résultats
Afficher les modifications
Validations sur la source (3)
...@@ -334,6 +334,11 @@ test_pref976: ...@@ -334,6 +334,11 @@ test_pref976:
PREF: "pref976" PREF: "pref976"
extends: .default_pref extends: .default_pref
test_prefbretagne:
variables:
PREF: "prefbretagne"
extends: .default_pref
test_prefidf: test_prefidf:
variables: variables:
PREF: "prefidf" PREF: "prefidf"
......
import datetime
import time
from bs4 import BeautifulSoup
from urllib.parse import unquote
from Attrap import Attrap
class Attrap_prefbretagne(Attrap):
# Config
hostname = 'https://www.prefectures-regions.gouv.fr'
raa_page = f'{hostname}/bretagne/Documents-publications/Recueils-des-actes-administratifs/Recueil-des-actes-administratifs'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0'
full_name = 'Préfecture de la région Bretagne'
short_code = 'prefbretagne'
timezone = 'Europe/Paris'
def __init__(self, data_dir):
super().__init__(data_dir, self.user_agent)
self.enable_tor(10)
self.set_sleep_time(10)
def get_raa(self, keywords):
# page_content = self.get_page(self.raa_page, 'get').content
page_content = self.get_session(self.raa_page, 'main', 6)
elements = self.get_raa_elements(page_content)
time.sleep(10)
self.parse_raa(elements, keywords)
self.mailer()
def get_raa_elements(self, page_content):
elements = []
# On charge le parser
soup = BeautifulSoup(page_content, 'html.parser')
# Pour chaque balise a, on regarde si c'est un PDF, et si oui on le parse
for a in soup.select('main div.container.main-container div.col-main article.article div.texte div a.link-download'):
if a.get('href') and a['href'].endswith('.pdf'):
if a['href'].startswith('/'):
url = f"{self.hostname}{a['href']}"
else:
url = a['href']
url = unquote(url)
name = a.find('span').get_text().strip()
# On devine la date du RAA à partir du nom de fichier
guessed = Attrap.guess_date(name, '((?:[0-9]{2}|[0-9]{1})(?:er){0,1}[ _](?:[a-zéû]{3,9})[ _](?:[0-9]{4}|[0-9]{2}))')
if (guessed == datetime.datetime(9999, 1, 1, 0, 0)):
date = None
else:
date = guessed
raa = Attrap.RAA(url, date, name, timezone=self.timezone)
elements.append(raa)
return elements
...@@ -13,7 +13,7 @@ class Attrap_prefidf(Attrap): ...@@ -13,7 +13,7 @@ class Attrap_prefidf(Attrap):
hostname = 'https://www.prefectures-regions.gouv.fr' hostname = 'https://www.prefectures-regions.gouv.fr'
raa_page = f'{hostname}/ile-de-france/tags/view/Ile-de-France/Documents+et+publications/Recueil+des+actes+administratifs' raa_page = f'{hostname}/ile-de-france/tags/view/Ile-de-France/Documents+et+publications/Recueil+des+actes+administratifs'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0' user_agent = 'Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0'
full_name = 'Préfecture d\'Île-de-France' full_name = 'Préfecture de la région Île-de-France'
short_code = 'prefidf' short_code = 'prefidf'
timezone = 'Europe/Paris' timezone = 'Europe/Paris'
......
...@@ -13,7 +13,7 @@ class Attrap_prefpaca(Attrap): ...@@ -13,7 +13,7 @@ class Attrap_prefpaca(Attrap):
hostname = 'https://www.prefectures-regions.gouv.fr' hostname = 'https://www.prefectures-regions.gouv.fr'
raa_page = f'{hostname}/provence-alpes-cote-dazur/Documents-publications' raa_page = f'{hostname}/provence-alpes-cote-dazur/Documents-publications'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0' user_agent = 'Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0'
full_name = 'Préfecture de Provence-Alpes-Côte-d\'Azur' full_name = 'Préfecture de la région Provence-Alpes-Côte-d\'Azur'
short_code = 'prefpaca' short_code = 'prefpaca'
timezone = 'Europe/Paris' timezone = 'Europe/Paris'
......
make: ppparis pref01 pref02 pref03 pref04 pref05 pref06 pref09 pref10 pref11 pref13 pref2a pref2b pref25 pref29 pref30 pref31 pref33 pref34 pref35 pref38 pref39 pref42 pref44 pref49 pref50 pref52 pref54 pref55 pref59 pref62 pref63 pref64 pref65 pref66 pref69 pref73 pref75 pref77 pref80 pref81 pref83 pref87 pref91 pref92 pref93 pref94 pref976 prefidf prefpaca make: ppparis pref01 pref02 pref03 pref04 pref05 pref06 pref09 pref10 pref11 pref13 pref2a pref2b pref25 pref29 pref30 pref31 pref33 pref34 pref35 pref38 pref39 pref42 pref44 pref49 pref50 pref52 pref54 pref55 pref59 pref62 pref63 pref64 pref65 pref66 pref69 pref73 pref75 pref77 pref80 pref81 pref83 pref87 pref91 pref92 pref93 pref94 pref976 prefbretagne prefidf prefpaca
ppparis: ppparis:
bin/python3 cli.py ppparis bin/python3 cli.py ppparis
pref01: pref01:
...@@ -95,6 +95,8 @@ pref94: ...@@ -95,6 +95,8 @@ pref94:
bin/python3 cli.py pref94 bin/python3 cli.py pref94
pref976: pref976:
bin/python3 cli.py pref976 bin/python3 cli.py pref976
prefbretagne:
bin/python3 cli.py prefbretagne
prefidf: prefidf:
bin/python3 cli.py prefidf bin/python3 cli.py prefidf
prefpaca: prefpaca:
......
...@@ -104,8 +104,9 @@ Vous pouvez également activer le safe mode en spécifiant la variable d'environ ...@@ -104,8 +104,9 @@ Vous pouvez également activer le safe mode en spécifiant la variable d'environ
- Préfecture de Seine-Saint-Denis (identifiant : `pref93`) - Préfecture de Seine-Saint-Denis (identifiant : `pref93`)
- Préfecture du Val-de-Marne (identifiant : `pref94`) - Préfecture du Val-de-Marne (identifiant : `pref94`)
- Préfecture de Mayotte (identifiant : `pref976`) - Préfecture de Mayotte (identifiant : `pref976`)
- Préfecture d'Île-de-France (identifiant : `prefidf`) - Préfecture de la région Bretagne (identifiant : `prefbretagne`)
- Préfecture de Provence-Alpes-Côte-d'Azur (identifiant : `prefpaca`) - Préfecture de la région Île-de-France (identifiant : `prefidf`)
- Préfecture de la région Provence-Alpes-Côte-d'Azur (identifiant : `prefpaca`)
## Contributions ## Contributions
......
...@@ -92,6 +92,7 @@ available_administrations = [ ...@@ -92,6 +92,7 @@ available_administrations = [
'pref93', 'pref93',
'pref94', 'pref94',
'pref976', 'pref976',
'prefbretagne',
'prefidf', 'prefidf',
'prefpaca' 'prefpaca'
] ]
......