Développé par daijro, hrequests (human requests) est conçu comme un remplacement simple et configurable de la bibliothèque requests de Python. Il apporte de nombreuses fonctionnalités tout en conservant une facilité d'utilisation.
Pour le scraping en production, associez les techniques TLS au contournement anti-bot: commencez par Qu'est-ce que l'empreinte TLS.
Fonctionnalités clés
- Transition fluide : basculez sans effort entre requêtes HTTP et navigation headless.
- Haute performance : s'appuie sur gevent pour la concurrence sans monkey-patching.
- Parsing avancé : inclut un parseur HTML intégré et rapide.
- Rendu JavaScript : prend en charge le rendu JS, essentiel pour le web scraping moderne.
- Support HTTP/2 : reste à jour avec les derniers protocoles web.
- Empreintes TLS navigateur : imite le trafic réel des navigateurs pour une meilleure discrétion.
- Gestion JSON efficace : sérialisation JSON jusqu'à 10 fois plus rapide que la bibliothèque standard.
- Exploration navigateur : automatisation navigateur simplifiée, avec simulations d'interactions humaines.
Installation simple via pip : pip install -U hrequests[all] et python -m playwright install firefox chromium.
Utilisation et documentation
Une documentation complète sur Gitbook couvre tout, des requêtes GET simples aux tâches d'automatisation navigateur complexes. Le module prend en charge les méthodes HTTP standard (GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH), avec des réponses proches de celles de la bibliothèque requests d'origine.
Requêtes concurrentes et lazy
hrequests introduit des concepts comme les requêtes nohup pour les opérations en arrière-plan et la concurrence par tableaux pour traiter plusieurs requêtes simultanément.
Parsing HTML et automatisation navigateur
En s'appuyant sur PyQuery pour un scraping HTML efficace, hrequests permet un parsing détaillé et l'interaction avec le contenu web. L'automatisation navigateur prend en charge les navigateurs headless et graphiques, avec des extensions pour Chrome et Firefox.
Gestion des exceptions
La bibliothèque propose des méthodes robustes pour gérer les exceptions et les timeouts, garantissant une exécution fiable des scripts.
Communauté et contributions
Maintenu par la communauté Python, hrequests illustre le développement collaboratif. Les contributions et retours sont les bienvenus pour une amélioration continue.
Licence et support
Sous licence Apache Software License (Apache-2.0), hrequests est compatible avec un large éventail de projets. Les versions Python 3.7 à 3.11 sont prises en charge.
En conclusion, hrequests est un outil puissant pour les développeurs Python, offrant des fonctionnalités avancées pour les requêtes web et le scraping. Sa conception accessible, combinée à des capacités avancées, en fait un excellent choix pour les débutants comme pour les professionnels expérimentés du développement web Python.