python+playwright 学习-88 禁止加载图片等资源

2024-04-18 16:02:24 浏览数 (2)

前言

对于爬虫的小伙伴来说,有时候只需抓取页面的文本,不用加载图片,可以加快操作页面速度,那么我们可以设置禁止加载图片等资源。

禁止图片加载

根据url地址的后缀,图片资源后缀一般是png,jpg,jpeg,gif等格式。

代码语言:javascript复制
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    context = browser.new_context()
    page = context.new_page()

    # 方法1 根据url地址后缀
    page.route("**/*.{png,jpg,jpeg,gif}", lambda route: route.abort())

    page.goto('https://www.cnblogs.com/yoyoketang')
    page.pause()

运行效果如下,会看到图片没加载

根据资源类型禁用

资源类型一般有 “document”, “stylesheet”, “script”, “image”, “font”, “xhr” 等。

代码语言:javascript复制
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    context = browser.new_context()
    page = context.new_page()

    # 方法1 根据url地址后缀
    # page.route("**/*.{png,jpg,jpeg,gif}", lambda route: route.abort())

    # 方法2  根据资源类型
    def abort_img(route):
        # 资源类型  "stylesheet", "script", "image", "font", "xhr"
        print(route.request.resource_type)
        if route.request.resource_type in ["image"]:
            route.abort()
        else:
            route.continue_()

    page.route("**/*", abort_img)

    page.goto('https://www.cnblogs.com/yoyoketang')
    page.pause()

0 人点赞