Pyppeteer: AJAX-JSON-Antwort abfangen
English
Deutsch
Dieses Beispiel zeigt Ihnen, wie Sie den Inhalt einer JSON-Antwort, die über eine AJAX-Anfrage auf einer Webseite angefordert wurde, mit Pyppeteer abfangen und ausgeben:
pyppeteer_intercept_ajax.py
import asyncio
import json
from pyppeteer import launch
async def intercept_network_response(response):
# In diesem Beispiel interessieren wir uns nur für Antworten, die JSONs zurückgeben
if "application/json" in response.headers.get("content-type", ""):
# Informationen über die Antworten ausgeben
print("URL:", response.url)
print("Methode:", response.request.method)
print("Antwort-Header:", response.headers)
print("Anfrage-Header:", response.request.headers)
print("Antwort-Status:", response.status)
# Den Inhalt der Antwort ausgeben
try:
# await response.json() gibt die Antwort als Python-Objekt zurück
print("Content: ", await response.json())
except json.decoder.JSONDecodeError:
# HINWEIS: Verwenden Sie await response.text(), wenn Sie den rohen Antworttext erhalten möchten
print("Failed to decode JSON from", await response.text())
async def main():
browser = await launch()
page = await browser.newPage()
page.on('response', intercept_network_response)
await page.goto('https://instagram.com')
await browser.close()
asyncio.get_event_loop().run_until_complete(main())If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow