This commit is contained in:
Tykayn 2025-09-26 17:38:30 +02:00 committed by tykayn
parent 2bb77d2300
commit 98c40b2447
16 changed files with 1836 additions and 361 deletions

View file

@ -37,9 +37,10 @@ logging.basicConfig(
logger = logging.getLogger(__name__)
class AgendaGeekScraper:
def __init__(self, api_url: str = "https://api.openeventdatabase.org", dry_run: bool = False):
def __init__(self, api_url: str = "https://api.openeventdatabase.org", dry_run: bool = False, page: int = 1):
self.api_url = api_url.rstrip('/')
self.dry_run = dry_run
self.page = page
self.session = requests.Session()
self.session.headers.update({
'User-Agent': 'OEDB-AgendaGeek-Scraper/1.0 (+https://github.com/cquest/oedb)'
@ -47,7 +48,7 @@ class AgendaGeekScraper:
def get_events_list(self) -> List[str]:
"""Récupère la liste des liens d'événements depuis la page principale"""
url = "https://lagendageek.com/tevents/page/10"
url = f"https://lagendageek.com/tevents/page/{self.page}"
logger.info(f"🔍 Récupération de la liste des événements depuis {url}")
try:
@ -395,7 +396,8 @@ class AgendaGeekScraper:
def main():
parser = argparse.ArgumentParser(description='Scraper Agenda Geek vers OEDB')
parser.add_argument('--limit', type=int, default=5, help='Nombre d\'événements à traiter')
parser.add_argument('--limit', type=int, default=20, help='Nombre d\'événements à traiter')
parser.add_argument('--page', type=int, default=1, help='Numéro de page du site')
parser.add_argument('--offset', type=int, default=0, help='Nombre d\'événements à ignorer')
parser.add_argument('--api-url', default='https://api.openeventdatabase.org', help='URL de l\'API OEDB')
parser.add_argument('--dry-run', action='store_true', help='Mode test sans envoi vers l\'API')
@ -406,7 +408,7 @@ def main():
if args.verbose:
logging.getLogger().setLevel(logging.DEBUG)
scraper = AgendaGeekScraper(api_url=args.api_url, dry_run=args.dry_run)
scraper = AgendaGeekScraper(api_url=args.api_url, dry_run=args.dry_run, page=args.page)
scraper.process_events(limit=args.limit, offset=args.offset)
if __name__ == "__main__":