up pages
This commit is contained in:
parent
2bb77d2300
commit
98c40b2447
16 changed files with 1836 additions and 361 deletions
|
@ -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__":
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue