Pyppeteer 最小网络响应拦截示例

**使用 Javascript (puppeteer)?**请查看最小 puppeteer 响应拦截示例

此示例向你展示如何在 pyppeteer 中拦截网络响应。 注意:这拦截的是响应,而不是请求!这意味着你可以在请求实际发送到服务器之前中止请求,但你不能读取响应的内容!请参见Pyppeteer 最小网络请求拦截示例了解如何拦截请求的示例。

pyppeteer_intercept_response.py
import asyncio
from pyppeteer import launch

async def intercept_network_response(response):
    # 在此示例中,我们只关心 HTML 响应!
    if "text/html" in response.headers.get("content-type", ""):
        # 打印有关响应的一些信息
        print("URL:", response.url)
        print("Method:", response.request.method)
        print("Response headers:", response.headers)
        print("Request Headers:", response.request.headers)
        print("Response status:", response.status)
        # 打印响应内容
        print("Content: ", await response.text())
        # 注意:如果你想直接获取 JSON,使用 await response.json()

async def main():
    browser = await launch()
    page = await browser.newPage()

    page.on('response', intercept_network_response)

    await page.goto('https://techoverflow.net')
    await browser.close()

asyncio.get_event_loop().run_until_complete(main())

Check out similar posts by category: Puppeteer, Pyppeteer, Python