meds-processor ? Guía de C# y .NET CoreEste es el lugar perfecto para comenzar a aprender C# y .NET Core construyendo algo real con apariencia y sensación: un raspador de datos de la lista de drogas y una API web de descanso documentada segura. Este proyecto está diseñado para desarrolladores que tienen experiencia de programación moderada y cierta experiencia en la creación de aplicaciones web, pero aún no han encundido C# y .NET en el backend.
ValidFrom.Year < 2019 , eliminó la paralelización del analizador debido a situaciones de bloqueo de archivos, limpió un poco las respuestas de la API, eliminó el código innecesario.ValidFrom.Year < 2019 . ¡Estaré solucionando esto con el analizador adicional (u otra solución) y actualizar las publicaciones de blog! El SDK listo para la producción multiplataforma es .NET Core y la versión utilizada para construir esta aplicación es "version": "2.2.402" . Puede encontrar las descargas SDK para su sistema operativo aquí.
Cree la aplicación (y garantice la conectividad a Internet para los paquetes NUGET para restaurar) con:
> cd src/MedsProcessor.WebAPI
MedsProcessor.WebAPI > dotnet buildEjecute la aplicación (y asegure la conectividad a Internet para que funcione el raspador web) en https: // localhost: 5001 con:
> cd src/MedsProcessor.WebAPI
MedsProcessor.WebAPI > dotnet runAhora puede navegar por la API web a través de una interfaz de usuario de Swagger en la dirección: https: // localhost: 5001/swagger/index.html
La imagen a continuación es una captura de pantalla de la interfaz de usuario de Swagger que se produce para documentar la API web con puntos finales disponibles y sus respetados métodos HTTP.
Me irritó el hecho de que el seguro de salud de mi país realiza datos importantes como medicina y medicamentos en un formato tan no estructurado y hostil. Además, pensé que estoy un poco oxidado con .NET Core y escribiendo blogs técnicos.
¡Aprenda a construir un raspador web, descargador y analizador de Excel cavando a través de algunos datos de hoja de cálculo ocultos del Fondo de Seguro de Salud de Croacia y su lista principal y complementaria de medicamentos y todo eso utilizando solo C# y .NET Core (en cualquier plataforma moderna de SO de computadora)! El SDK .NET Core se puede instalar y usar lo mismo en Windows, OSX o Linux.
El repositorio está compuesto por cuatro partes. Esas partes son ramas Git donde cada una de ellas tiene su propio artículo de publicación de blog. Puede navegar por las ramas aquí en GitHub (el menú desplegable de selección de ramas). Aconsejo que comience leyendo el blog parte/1, ya que lo guiará a través de la construcción de la solución por su cuenta. Puede usar cualquier sistema operativo moderno y editor de código.
Parte/1 (Practical .NET Core: escriba un raspador web, descargador y analizador de Excel. Parte 1: raspador)
AngleSharp para obtener algunas páginas HTML remotas y extraer algunos enlaces.Parte/2 (Practical .NET Core - Escribe un raspador, Fetcher & XLS (X) analizador. Parte 2: Descargador)
Task Parallel Library y procesar tareas de asíncrono en .NET Core.Parte/3 (Practical .NET Core - Escribe un raspador, Fetcher & .xls (x) analizador. Parte 3: analizador)
NPOI para extraer datos relevantes para sus clases de modelo C#. Al terminar, tendrá un solo conjunto de datos de datos transformados y organizados.Parte/4 (Practical .NET Core: escriba un raspador, fetcher & .xls (x) analizador. Parte 4: API web de reposo seguro)
Swagger Docs basados en sus controladores y acciones bien documentados. La fuente ha cambiado mucho a través de las piezas. Puede haber errores ya que este proyecto no está cubierto por pruebas (algo que podría considerar en el futuro). Parte/4 además de la implementación de la API web se refiere a la refactorización y la mejora de algunas partes que, a propósito, no están en su mejor forma de las partes anteriores. Lo que notará por primera vez es que este documento ReadMe.md no está en este formulario final en las primeras tres ramas. No se desanime, más bien notifíqueme si ve el lugar para mejorar. Todo debería funcionar como se esperaba si sigues la serie de blogs. Además, todas las prácticas que ve aquí, como una clase base para una respuesta HTTP para llevar datos de encabezado HTTP, no son la mejor producción para usar. Así que sí, siempre mantente curioso, pregúntate "¿por qué?", Repensar tu enfoque y luego ejecutar.
Estoy abierto a mejoras, comentarios, problemas, tenedores/PRS y todo de buena preocupación e idea. También podemos discutir sus ideas y temas en la sección de comentarios en los artículos de la publicación del blog si lo prefiere.
Vedran Mandić.
Licencia de MIT