Entwickelt von daijro, ist hrequests (human requests) darauf ausgelegt, ein einfacher, aber konfigurierbarer Ersatz für die Python-requests-Bibliothek zu sein. Es bringt eine Vielzahl neuer Funktionen mit, während es einfach zu bedienen bleibt.
Für das Produktions-Scraping kombinieren Sie TLS-Techniken mit Anti-Bot-Umgehung: Beginnen Sie mit Was ist TLS-Fingerprinting.
Hauptmerkmale:
- Nahtloser Übergang: Wechseln Sie mühelos zwischen HTTP-Anfragen und Headless-Browsing.
- Hochleistungsfähig: Nutzt gevent für Parallelität ohne Monkey-Patching.
- Erweitertes Parsing: Kommt mit einem schnellen, integrierten HTML-Parser.
- JavaScript-Rendering: Unterstützt vollständig JS-Rendering, entscheidend für modernes Web-Scraping.
- HTTP/2-Unterstützung: Bleibt auf dem neuesten Stand der Web-Protokolle.
- Browser-TLS-Fingerabdrücke: Ahmt tatsächlichen Browser-Verkehr nach, um die Tarnung zu verbessern.
- Effiziente JSON-Verarbeitung: Bis zu 10-mal schnelleres JSON-Serialisieren im Vergleich zur Standardbibliothek.
- Browser-Crawling: Vereinfachte Browser-Automatisierung, komplett mit Simulationen menschlicher Interaktionen.
Einfach installierbar über pip: pip install -U hrequests[all] und python -m playwright install firefox chromium.
Nutzung und Dokumentation
Umfassende Dokumentation auf Gitbook erläutert alles von einfachen GET-Anfragen bis hin zu komplexen Browser-Automatisierungsaufgaben. Das Modul unterstützt Standard-HTTP-Methoden wie GET, POST, PUT, DELETE, HEAD, OPTIONS und PATCH, wobei die Antworten denen der ursprünglichen requests-Bibliothek sehr ähnlich sind.
Gleichzeitige & faule Anfragen
hrequests führt Konzepte wie nohup-Anfragen für Hintergrundoperationen und arraybasierte Parallelität zur gleichzeitigen Verarbeitung mehrerer Anfragen ein.
HTML-Parsing und Browser-Automatisierung
Durch die Nutzung von PyQuery für effizientes HTML-Scraping ermöglicht hrequests detailliertes Parsen und Interagieren mit Web-Inhalten. Die Browser-Automatisierung unterstützt sowohl Headless- als auch grafische Browser, mit Erweiterungen für Chrome und Firefox.
Ausnahmebehandlung
Die Bibliothek bietet robuste Methoden zur Behandlung von Ausnahmen und Timeouts, um eine zuverlässige Skriptausführung zu gewährleisten.
Community und Beiträge
Gepflegt von der Python-Community, ist hrequests ein Beweis für kollaborative Entwicklung. Beiträge und Feedback sind immer willkommen und fördern die kontinuierliche Verbesserung.
Lizenzierung und Unterstützung
Lizenziert unter der Apache Software License (Apache-2.0), garantiert hrequests Kompatibilität mit einer Vielzahl von Projekten. Unterstützt werden Python-Versionen von 3.7 bis 3.11.
Zusammenfassend ist hrequests ein leistungsstarkes Tool für Python-Entwickler, das erweiterte Funktionen und Fähigkeiten für Web-Anfragen und Scraping bietet. Sein benutzerfreundliches Design, kombiniert mit fortschrittlichen Funktionalitäten, macht es zu einer ausgezeichneten Wahl für sowohl Anfänger als auch erfahrene Profis in der Python-Webentwicklung.