Maison développement back-end Tutoriel Python Leçon Travailler avec les API et le Web Scraping pour l'automatisation des ressources humaines

Leçon Travailler avec les API et le Web Scraping pour l'automatisation des ressources humaines

Sep 12, 2024 am 10:15 AM

Lesson  Working with APIs and Web Scraping for HR Automation

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 :

  1. Que sont les API et pourquoi elles sont utiles.
  2. Comment interagir avec les API REST à l'aide de la bibliothèque de requêtes de Python.
  3. Comment appliquer les techniques de web scraping pour extraire des données de sites Web.
  4. 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
Copier après la connexion

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}")
Copier après la connexion

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}")
Copier après la connexion

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èque

BeautifulSoup de Python, ainsi que les requêtes, facilitent le scraping Web. Vous pouvez l'installer en exécutant :

pip install beautifulsoup4
Copier après la connexion
Exemple : récupération des données sur les avantages sociaux des employés d'un site Web

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")
Copier après la connexion
Dans cet exemple :

    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().
Cette technique est utile pour collecter des données liées aux RH telles que les avantages sociaux, les offres d'emploi ou les références salariales sur le Web.


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.")
Copier après la connexion

How It Works:

  1. The get_tax_rates() function retrieves tax rates from an API.
  2. The get_benefit_costs() function scrapes a webpage for the employee benefits cost.
  3. 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:

  1. Respect the website’s robots.txt: Some websites don’t allow scraping, and you should check their robots.txt file before scraping.
  2. Use appropriate intervals between requests: Avoid overloading the server by adding delays between requests using the time.sleep() function.
  3. 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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

<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
Nordhold: Système de fusion, expliqué
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel Java
1670
14
Tutoriel PHP
1276
29
Tutoriel C#
1256
24
Python vs C: courbes d'apprentissage et facilité d'utilisation Python vs C: courbes d'apprentissage et facilité d'utilisation Apr 19, 2025 am 12:20 AM

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é.

Python et temps: tirer le meilleur parti de votre temps d'étude Python et temps: tirer le meilleur parti de votre temps d'étude Apr 14, 2025 am 12:02 AM

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 vs. C: Explorer les performances et l'efficacité Python vs. C: Explorer les performances et l'efficacité Apr 18, 2025 am 12:20 AM

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.

Apprendre Python: 2 heures d'étude quotidienne est-elle suffisante? Apprendre Python: 2 heures d'étude quotidienne est-elle suffisante? Apr 18, 2025 am 12:22 AM

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 vs C: Comprendre les principales différences Python vs C: Comprendre les principales différences Apr 21, 2025 am 12:18 AM

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.

Quelle partie fait partie de la bibliothèque standard Python: listes ou tableaux? Quelle partie fait partie de la bibliothèque standard Python: listes ou tableaux? Apr 27, 2025 am 12:03 AM

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: automatisation, script et gestion des tâches Python: automatisation, script et gestion des tâches Apr 16, 2025 am 12:14 AM

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.

Python pour le développement Web: applications clés Python pour le développement Web: applications clés Apr 18, 2025 am 12:20 AM

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

See all articles