{"id":15013581,"url":"https://github.com/RafaelRemoteDev/rae_webscrapping","last_synced_at":"2025-05-13T09:31:22.827Z","repository":{"id":255513272,"uuid":"852176665","full_name":"RafaelRemoteDev/rae_webscrapping","owner":"RafaelRemoteDev","description":"RAE webscrapping - expertus project","archived":false,"fork":false,"pushed_at":"2024-10-07T16:40:25.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T22:44:09.791Z","etag":null,"topics":["github","postman","python","rae","webscrapping"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RafaelRemoteDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-09-04T11:07:39.000Z","updated_at":"2025-01-14T16:52:00.000Z","dependencies_parsed_at":"2024-11-19T04:52:06.249Z","dependency_job_id":null,"html_url":"https://github.com/RafaelRemoteDev/rae_webscrapping","commit_stats":null,"previous_names":["rafaelremotedev/project-1","rafaelremotedev/rae_webscrapping"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelRemoteDev%2Frae_webscrapping","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelRemoteDev%2Frae_webscrapping/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelRemoteDev%2Frae_webscrapping/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelRemoteDev%2Frae_webscrapping/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RafaelRemoteDev","download_url":"https://codeload.github.com/RafaelRemoteDev/rae_webscrapping/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253913068,"owners_count":21983249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["github","postman","python","rae","webscrapping"],"created_at":"2024-09-24T19:44:28.383Z","updated_at":"2025-05-13T09:31:22.472Z","avatar_url":"https://github.com/RafaelRemoteDev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RAE webscrapping\n## Descripción del proyecto\n    Bot de Telegram que, dada una palabra y un comando, busque esa palabra en la RAE. La palabra se descargará en la base de datos local en la primera vez que se haga la consulta. \nEl proyecto consiste en crear:\n- Un backend de Python que nos sirva como API:\n\n    - Un webscrapper en este backend que nos permita obtener las definiciones de la RAE.\n    - La estructura del proyecto estará definida con clases y programación orientada a objetos.\n    - Las librerías principales que se usarán serán `re` , `fastapi`, `pydantic`, `bs4`.\n\n\n- Tener una buena base de datos local con SQLite.\n- Usar PostMan para probar la API.\n- Tener el repositorio en GitHub para poder enseñarlo.\n- Aprender a usar el debugger con PyCharm.\n- Aprender a conectar Telegram con nuestra API.\n\n## Conceptos\n\n### `.gitignore`\nEs un archivo de configuración que indica qué archivos y directorios deben ser ignorados por Git.\n\n### `requeriments.txt`\n\nSirve para:\n- Especificar Dependencias: Enumera las bibliotecas y sus versiones exactas que el proyecto necesita para funcionar correctamente.\n\n- Facilitar la Instalación: Permite a otros usuarios instalar todas las dependencias necesarias con un solo comando usando pip: [pip install -r requirements.txt]\n- Reproducibilidad: Ayuda a garantizar que el entorno de desarrollo sea consistente y reproducible, ya que todos los colaboradores usan las mismas versiones de las bibliotecas.\n\n## Comandos de Git\n- `git add \u003cFICHERO\u003e`para añadir ficheros de interés en local. Ej: \" git add ./README.md\n\"\n- `git commit -m \u003cMENSAJE\u003e` para añadir los cambios a la rama local. Ej: \" git commit -m \"Add git basic commands to README\"\n\"\n- `git push` para enviar los cambios al remoto.\n- `git rm -rf --cached .idea/` para eliminar los ficheros de Pycharm, luego ponemos en .gitignore \".idea/\"\n\n## Comandos de bash\n- `pip`: Manejador de libreríaas de Python.\n\n  - `freeze`: Nos indica los paquetes que tenemos en nuestro virtual environment.\n\n## Enlaces de interés\n-[Librería de Pydantic](https://docs.pydantic.dev/latest/concepts/models/): Contiene información sobre cómo construir clases.\n\n-[User Agents](https://user-agents.net/): Esto le dice al servidor que tu petición viene de un navegador, no de un script automatizado.\n\n## Estructura de un proyecto\n- Siempre habrá una carpeta llamada`app` con el código.\n- Tendremos `schemas` que servirá para definir las clases de \"Pydantic\".\n- Luego tendremos `infrastructure` que servirá para tener los modelos de las bases de datos.\n- Por último, los `services` que contiene el código que usa las clases contenidas con antelación. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRafaelRemoteDev%2Frae_webscrapping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRafaelRemoteDev%2Frae_webscrapping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRafaelRemoteDev%2Frae_webscrapping/lists"}