{"id":50646177,"url":"https://github.com/alxgarci/marca-fantasy-api-scraper-updated","last_synced_at":"2026-06-24T09:00:59.142Z","repository":{"id":80269249,"uuid":"600397303","full_name":"alxgarci/marca-fantasy-api-scraper-updated","owner":"alxgarci","description":"Web scraper del API de LaLiga Fantasy de Relevo (antes LaLiga Fantasy de Marca)","archived":false,"fork":false,"pushed_at":"2024-08-28T18:46:57.000Z","size":390,"stargazers_count":15,"open_issues_count":3,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-28T20:32:07.187Z","etag":null,"topics":["api","fantasy","laliga","liga","marca","marca-fantasy","relevo","scraper","webscraper"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alxgarci.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-11T11:16:37.000Z","updated_at":"2024-08-28T18:57:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"fab65e0a-35e2-4481-9fdc-a476eb6d6b5c","html_url":"https://github.com/alxgarci/marca-fantasy-api-scraper-updated","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/alxgarci/marca-fantasy-api-scraper-updated","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alxgarci%2Fmarca-fantasy-api-scraper-updated","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alxgarci%2Fmarca-fantasy-api-scraper-updated/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alxgarci%2Fmarca-fantasy-api-scraper-updated/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alxgarci%2Fmarca-fantasy-api-scraper-updated/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alxgarci","download_url":"https://codeload.github.com/alxgarci/marca-fantasy-api-scraper-updated/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alxgarci%2Fmarca-fantasy-api-scraper-updated/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34724743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","fantasy","laliga","liga","marca","marca-fantasy","relevo","scraper","webscraper"],"created_at":"2026-06-07T13:00:29.297Z","updated_at":"2026-06-24T09:00:59.137Z","avatar_url":"https://github.com/alxgarci.png","language":"Python","funding_links":[],"categories":["Deportes"],"sub_categories":["Radar COVID"],"readme":"## Actualmente no funciona el código, dado que han cambiado endpoints de la Api (ya no existe acceso web, solo en app)\nSe puede seguir la discusión en la pestaña 'issues' [#7](https://github.com/alxgarci/marca-fantasy-api-scraper-updated/issues/7)\n\nAcepto y reviso pull requests sin problema, para mantener el repositorio actualizado, pero por problemas de tiempo actuales iré investigando en ratos libres\n# Marca Fantasy Scraper\nWeb scraper del API de LaLiga Fantasy Oficial (Relevo). Descarga la información existente en la Liga Fantasy Oficial sobre los equipos y jugadores de la temporada y sus historiales de valor de mercado.\nSe ha implementado multithreading (tiempo de ejecución de ~25 segundos para 1595 jugadores) y comandos varios para poder modificar la ejecución sin cambiar nada del código en caso de modificaciones o aumento de jugadores en API.\nTambién se pueden obtener los datos y jugadores de tu propia liga y plantilla.\n\n\u003c!-- MarkdownTOC --\u003e\n\n- [Requisitos](#requisitos)\n- [Ejecucion](#ejecucion)\n- [Ejecucion de personal_lineup.py \\(obtener Bearer Header\\)](#ejecucion-obtener-bearer-header)\n- [Importado como libreria](#importado-como-libreria)\n- [Funcionamiento](#funcionamiento)\n- [Referencias](#referencias)\n- [Implementaciones pendientes](#implementaciones-pendientes)\n- [Sugerencias y Errores](#sugerencias-y-errores)\n\n\u003c!-- /MarkdownTOC --\u003e\n\n\n# Requisitos\n- Python v3+\n- Librería requests en python\n- Librería numpy en python\n\n# Ejecucion\n- Descarga la última versión funcional y probada + el requirements.txt desde [releases/latest](https://github.com/alxgarci/marca-fantasy-api-scraper-updated/releases/latest)\n- Para instalar el paquete requests y numpy (para los NaN), podemos hacerlo con \n```\npip install -r requirements.txt\n```\n\n- El programa se puede ejecutar con alguno de los siguientes comandos (dependiendo de tu instalación de python):\n```\npython fantasy_scraper.py\n```\n```\npython3 fantasy_scraper.py\n```\n```\npy fantasy_scraper.py\n```\n\n- Con los ajustes establecidos por defecto y se ejecutará mostrando por pantalla un progressBar de 0% a 100%. Ejemplo de ejecución para 1595 jugadores en API por defecto (~25 segundos):\n\n\u003cimg src=\"https://github.com/alxgarci/marca-fantasy-api-scraper-updated/raw/master/img/ejecucion.gif\" alt=\"ejemplo ejecucion\"/\u003e\n\n\n- Acepta algunos comandos al ejecutarlo, para más información\n```\nfantasy_scraper.py --help\n```\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg src=\"https://github.com/alxgarci/marca-fantasy-api-scraper-updated/raw/master/img/ex01.png\"\n     alt=\"Ejemplo comandos\"/\u003e\n\u003c/div\u003e\n\n# Ejecucion (obtener Bearer Header)\nPara poder entrar en la API de nuestra liga/cuenta, necesitaremos un header que caduca cada 24hr.\nSe puede obtener fácilmente añadiento la siguiente página a marcadores e iniciando sesión en la propia página y luego pulsando en el marcador, lo que nos copiará en el portapapeles el token a pegar en terminal para poder acceder a las API de nuestra liga.\nCrear un nuevo marcador en la barra de marcadores, del nombre que sea y en URL introducimos:\n```\njavascript: (function() {var text = JSON.parse(localStorage.getItem(\"auth\")).status.authenticate.access_token;navigator.clipboard.writeText(text).then(function() {alert('Token copiado correctamente al portapapeles!');}, function(err) {alert('No se ha podido copiar el token: ', err);});})()\n```\n- También se puede pulsar Ctrl + Shift + J en Chrome para abrir la consola web (DevTools) e introducir:\n```\nJSON.parse(localStorage.getItem(\"auth\")).status.authenticate.access_token\n```\nQue nos devolverá el mismo token para pegarlo en terminal cuando se pida\n\n# Importado como libreria\nSe puede importar y usar como librería dentro de otro script:\n- El _fantasy_scraper.py_ deberá encontrarse en la misma ruta que el script donde se quiere importar\n- Se seguirá creando un archivo _log.txt_ en la misma ubicación que se encuentra el script\n- Para actualizar los .JSON sólo se necesitan las siguientes líneas en el script desde el que se importa:\n```\nimport fantasy_scraper\n...\ndef main():\n    ...\n    fantasy_scraper.main(True, fantasy_scraper.TOTAL_JUGADORES)\n    ...\n...\n```\n\n# Funcionamiento\n- Se creará un log.txt que registrará cada operación del programa para solución de errores\n- Se almacena el .json de cada jugador en `players/IDEQUIPO_NOMBRECORTO/IDJUGADOR_NOMBRECORTO.json`\n- Se crea un .json separado por cada equipo con sus jugadores y que guarda lo mismo que el jugadores pero sin estadisticas detalladas (minutos jugados,...), sólo con los puntos de cada jornada en `data/IDEQUIPO_NOMBRECORTO.json`\n- En el .json de cada jugador, en la sección de `marketValue` se almacena el historial de precios de mercado (por fecha) obtenido por el api endpoint de market-values.\nEjemplo de `marketValue` en un .JSON `players/IDEQUIPO_NOMBRECORTO/IDJUGADOR_NOMBRECORTO.json`:\n```\n{\n    ...\n    \"marketValue\": {\n            \"14/07/2022\": 25000000,\n            \"15/07/2022\": 25032031,\n            \"16/07/2022\": 24942978,\n            \"17/07/2022\": 24668708,\n            \"18/07/2022\": 24648333,\n            \"19/07/2022\": 24760373,\n            ...\n    },\n    ...\n}\n            \n```\n\n\n# Referencias\nEste es un proyecto basado en el de [@diegoparrilla](https://github.com/diegoparrilla/marca-fantasy-scraper), de donde he sacado el API endpoint y parte de la estructura de los JSON.\n\n# Implementaciones pendientes\nSe pueden consultar en [issues -\u003e labels -\u003e mejora](https://github.com/alxgarci/marca-fantasy-api-scraper-updated/labels/mejora)\n\n# Sugerencias y Errores\n- Para errores escribir una nueva en entrada en [issues](https://github.com/alxgarci/marca-fantasy-api-scraper-updated/issues/new) subiendo el log.txt y una breve descripción del problema\n- Para sugerencias escribir una nueva entrada en [issues](https://github.com/alxgarci/marca-fantasy-api-scraper-updated/issues/new)\n- También revisaré los pull requests\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falxgarci%2Fmarca-fantasy-api-scraper-updated","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falxgarci%2Fmarca-fantasy-api-scraper-updated","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falxgarci%2Fmarca-fantasy-api-scraper-updated/lists"}