


Leçon Travailler avec les API et le Web Scraping pour l'automatisation des ressources humaines
Bienvenue dans notre série Python de 0 à Hero ! Jusqu'à présent, nous avons appris à manipuler les données et à utiliser de puissantes bibliothèques externes pour les tâches liées aux systèmes de paie et de ressources humaines. Mais que se passe-t-il si vous avez besoin de récupérer des données en temps réel ou d'interagir avec des services externes ? C'est là que les API et le web scraping entrent en jeu.
Dans cette leçon, nous aborderons :
- Que sont les API et pourquoi elles sont utiles.
- Comment interagir avec les API REST à l'aide de la bibliothèque de requêtes de Python.
- Comment appliquer les techniques de web scraping pour extraire des données de sites Web.
- Exemples pratiques, tels que la récupération des taux d'imposition en temps réel pour la paie ou la récupération des données sur les avantages sociaux des employés à partir d'un site Web.
À la fin de cette leçon, vous serez en mesure d'automatiser la récupération de données externes, rendant ainsi vos systèmes RH plus dynamiques et axés sur les données.
1. Que sont les API ?
Une API (Application Programming Interface) est un ensemble de règles qui permettent à différentes applications logicielles de communiquer entre elles. En termes plus simples, il vous permet d'interagir avec un autre service ou base de données directement à partir de votre code.
Par exemple :
- Vous pouvez utiliser une API pour récupérer les taux d'imposition en temps réel pour les calculs de paie.
- Vous pouvez intégrer une API de logiciel RH pour extraire les données des employés directement dans votre système.
- Vous pouvez également utiliser une API météo pour savoir quand offrir des avantages spéciaux aux employés en fonction de conditions météorologiques extrêmes.
La plupart des API utilisent un standard appelé REST (Representational State Transfer), qui vous permet d'envoyer des requêtes HTTP (comme GET ou POST) pour accéder ou mettre à jour des données.
2. Utilisation de la bibliothèque de requêtes pour interagir avec les API
La bibliothèque de requêtes de Python facilite le travail avec les API. Vous pouvez l'installer en exécutant :
pip install requests
Faire une requête API de base
Commençons par un exemple simple montrant comment récupérer des données à partir d'une API à l'aide d'une requête GET.
import requests # Example API to get public data url = "https://jsonplaceholder.typicode.com/users" response = requests.get(url) # Check if the request was successful (status code 200) if response.status_code == 200: data = response.json() # Parse the response as JSON print(data) else: print(f"Failed to retrieve data. Status code: {response.status_code}")
Dans cet exemple :
- Nous utilisons la fonction request.get() pour récupérer les données de l'API.
- Si la demande aboutit, les données sont analysées au format JSON et nous pouvons les traiter.
Exemple d'application RH : récupération de données fiscales en temps réel
Disons que vous souhaitez récupérer les taux d'imposition en temps réel à des fins de paie. De nombreux pays fournissent des API publiques pour les taux d'imposition.
Pour cet exemple, nous allons simuler la récupération de données à partir d'une API fiscale. La logique serait similaire lors de l'utilisation d'une API réelle.
import requests # Simulated API for tax rates api_url = "https://api.example.com/tax-rates" response = requests.get(api_url) if response.status_code == 200: tax_data = response.json() federal_tax = tax_data['federal_tax'] state_tax = tax_data['state_tax'] print(f"Federal Tax Rate: {federal_tax}%") print(f"State Tax Rate: {state_tax}%") # Use the tax rates to calculate total tax for an employee's salary salary = 5000 total_tax = salary * (federal_tax + state_tax) / 100 print(f"Total tax for a salary of ${salary}: ${total_tax:.2f}") else: print(f"Failed to retrieve tax rates. Status code: {response.status_code}")
Ce script pourrait être adapté pour fonctionner avec une API de taux d'imposition réel, vous aidant ainsi à maintenir votre système de paie à jour avec les derniers taux d'imposition.
3. Web Scraping pour collecter des données
Bien que les API soient la méthode privilégiée pour récupérer des données, tous les sites Web ne les proposent pas. Dans ces cas, le web scraping peut être utilisé pour extraire des données d'une page Web.
La bibliothèqueBeautifulSoup de Python, ainsi que les requêtes, facilitent le scraping Web. Vous pouvez l'installer en exécutant :
pip install beautifulsoup4
Imaginez que vous souhaitiez récupérer des données sur les
avantages sociaux des employés du site Web RH d'une entreprise. Voici un exemple simple :
import requests from bs4 import BeautifulSoup # URL of the webpage you want to scrape url = "https://example.com/employee-benefits" response = requests.get(url) # Parse the page content with BeautifulSoup soup = BeautifulSoup(response.content, 'html.parser') # Find and extract the data you need (e.g., benefits list) benefits = soup.find_all("div", class_="benefit-item") # Loop through and print out the benefits for benefit in benefits: title = benefit.find("h3").get_text() description = benefit.find("p").get_text() print(f"Benefit: {title}") print(f"Description: {description}\n")
- Nous demandons le contenu d'une page Web à l'aide de request.get().
- L'objet BeautifulSoup analyse le contenu HTML.
- Nous extrayons ensuite les éléments spécifiques qui nous intéressent (par exemple, les titres et les descriptions des avantages) à l'aide de find_all().
4. Combiner les API et le Web Scraping dans les applications RH
Rassemblons tout et créons une mini-application qui combine l'utilisation d'API et le web scraping pour un scénario RH réel : calculer le
coût total d'un employé.
Nous allons :
- Use an API to get real-time tax rates.
- Scrape a webpage for additional employee benefit costs.
Example: Total Employee Cost Calculator
import requests from bs4 import BeautifulSoup # Step 1: Get tax rates from API def get_tax_rates(): api_url = "https://api.example.com/tax-rates" response = requests.get(api_url) if response.status_code == 200: tax_data = response.json() federal_tax = tax_data['federal_tax'] state_tax = tax_data['state_tax'] return federal_tax, state_tax else: print("Error fetching tax rates.") return None, None # Step 2: Scrape employee benefit costs from a website def get_benefit_costs(): url = "https://example.com/employee-benefits" response = requests.get(url) if response.status_code == 200: soup = BeautifulSoup(response.content, 'html.parser') # Let's assume the page lists the monthly benefit cost benefit_costs = soup.find("div", class_="benefit-total").get_text() return float(benefit_costs.strip("$")) else: print("Error fetching benefit costs.") return 0.0 # Step 3: Calculate total employee cost def calculate_total_employee_cost(salary): federal_tax, state_tax = get_tax_rates() benefits_cost = get_benefit_costs() if federal_tax is not None and state_tax is not None: # Total tax deduction total_tax = salary * (federal_tax + state_tax) / 100 # Total cost = salary + benefits + tax total_cost = salary + benefits_cost + total_tax return total_cost else: return None # Example usage employee_salary = 5000 total_cost = calculate_total_employee_cost(employee_salary) if total_cost: print(f"Total cost for the employee: ${total_cost:.2f}") else: print("Could not calculate employee cost.")
How It Works:
- The get_tax_rates() function retrieves tax rates from an API.
- The get_benefit_costs() function scrapes a webpage for the employee benefits cost.
- The calculate_total_employee_cost() function calculates the total cost by combining salary, taxes, and benefits.
This is a simplified example but demonstrates how you can combine data from different sources (APIs and web scraping) to create more dynamic and useful HR applications.
Best Practices for Web Scraping
While web scraping is powerful, there are some important best practices to follow:
- Respect the website’s robots.txt: Some websites don’t allow scraping, and you should check their robots.txt file before scraping.
- Use appropriate intervals between requests: Avoid overloading the server by adding delays between requests using the time.sleep() function.
- Avoid scraping sensitive or copyrighted data: Always make sure you’re not violating any legal or ethical rules when scraping data.
Conclusion
In this lesson, we explored how to interact with external services using APIs and how to extract data from websites through web scraping. These techniques open up endless possibilities for integrating external data into your Python applications, especially in an HR context.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Python est plus facile à apprendre et à utiliser, tandis que C est plus puissant mais complexe. 1. La syntaxe Python est concise et adaptée aux débutants. Le typage dynamique et la gestion automatique de la mémoire le rendent facile à utiliser, mais peuvent entraîner des erreurs d'exécution. 2.C fournit des fonctionnalités de contrôle de bas niveau et avancées, adaptées aux applications haute performance, mais a un seuil d'apprentissage élevé et nécessite une gestion manuelle de la mémoire et de la sécurité.

Pour maximiser l'efficacité de l'apprentissage de Python dans un temps limité, vous pouvez utiliser les modules DateTime, Time et Schedule de Python. 1. Le module DateTime est utilisé pour enregistrer et planifier le temps d'apprentissage. 2. Le module de temps aide à définir l'étude et le temps de repos. 3. Le module de planification organise automatiquement des tâches d'apprentissage hebdomadaires.

Python est meilleur que C dans l'efficacité du développement, mais C est plus élevé dans les performances d'exécution. 1. La syntaxe concise de Python et les bibliothèques riches améliorent l'efficacité du développement. Les caractéristiques de type compilation et le contrôle du matériel de CC améliorent les performances d'exécution. Lorsque vous faites un choix, vous devez peser la vitesse de développement et l'efficacité de l'exécution en fonction des besoins du projet.

Est-ce suffisant pour apprendre Python pendant deux heures par jour? Cela dépend de vos objectifs et de vos méthodes d'apprentissage. 1) Élaborer un plan d'apprentissage clair, 2) Sélectionnez les ressources et méthodes d'apprentissage appropriées, 3) la pratique et l'examen et la consolidation de la pratique pratique et de l'examen et de la consolidation, et vous pouvez progressivement maîtriser les connaissances de base et les fonctions avancées de Python au cours de cette période.

Python et C ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1) Python convient au développement rapide et au traitement des données en raison de sa syntaxe concise et de son typage dynamique. 2) C convient à des performances élevées et à une programmation système en raison de son typage statique et de sa gestion de la mémoire manuelle.

PythonlistSaReparmentofthestandardLibrary, tandis que les coloccules de colocède, tandis que les colocculations pour la base de la Parlementaire, des coloments de forage polyvalent, tandis que la fonctionnalité de la fonctionnalité nettement adressée.

Python excelle dans l'automatisation, les scripts et la gestion des tâches. 1) Automatisation: La sauvegarde du fichier est réalisée via des bibliothèques standard telles que le système d'exploitation et la fermeture. 2) Écriture de script: utilisez la bibliothèque PSUTIL pour surveiller les ressources système. 3) Gestion des tâches: utilisez la bibliothèque de planification pour planifier les tâches. La facilité d'utilisation de Python et la prise en charge de la bibliothèque riche en font l'outil préféré dans ces domaines.

Les applications clés de Python dans le développement Web incluent l'utilisation des cadres Django et Flask, le développement de l'API, l'analyse et la visualisation des données, l'apprentissage automatique et l'IA et l'optimisation des performances. 1. Framework Django et Flask: Django convient au développement rapide d'applications complexes, et Flask convient aux projets petits ou hautement personnalisés. 2. Développement de l'API: Utilisez Flask ou DjangorestFramework pour construire RestulAPI. 3. Analyse et visualisation des données: utilisez Python pour traiter les données et les afficher via l'interface Web. 4. Apprentissage automatique et AI: Python est utilisé pour créer des applications Web intelligentes. 5. Optimisation des performances: optimisée par la programmation, la mise en cache et le code asynchrones
