Maison >développement back-end >Tutoriel Python >Comment puis-je effectuer des requêtes asynchrones avec la bibliothèque « requests » de Python ?

Comment puis-je effectuer des requêtes asynchrones avec la bibliothèque « requests » de Python ?

DDD
DDDoriginal
2024-12-02 07:28:16362parcourir

How Can I Make Asynchronous Requests with Python's `requests` Library?

Requêtes asynchrones avec requêtes Python

La bibliothèque de requêtes Python offre une gestion pratique des requêtes asynchrones via son module asynchrone. Pour exécuter des requêtes asynchrones et récupérer le contenu de chaque réponse, suivez ces étapes :

  1. Définissez une fonction pour traiter chaque réponse. Dans cette fonction, vous pouvez accéder à l'objet de réponse et effectuer les opérations souhaitées sur son contenu.
  2. Ajoutez la fonction définie en tant que hook d'événement à votre requête à l'aide du paramètre hooks. Le hook sera déclenché automatiquement lorsque la requête sera terminée.
  3. Créez une liste pour stocker toutes les requêtes ou actions que vous souhaitez exécuter de manière asynchrone.
  4. Utilisez async.map() fonction pour exécuter la liste des requêtes de manière asynchrone.

Par exemple, considérons le code suivant extrait :

from requests import async

urls = [
    'http://python-requests.org',
    'http://httpbin.org',
    'http://python-guide.org',
    'http://kennethreitz.com'
]

def do_something(response):
    print(response.url)

async_list = []

for u in urls:
    action_item = async.get(u, hooks={'response': do_something})
    async_list.append(action_item)

async.map(async_list)

Ce code exécutera de manière asynchrone les requêtes vers les URL spécifiées et imprimera l'URL de chaque réponse sur la console.

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:
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