2025-03-30 22:49:37 +08:00

30 lines
1.1 KiB
Python

from DrissionPage import Chromium, ChromiumOptions
from .ua import random_ua
from ..config.config import AppCtx
class DPEngine:
"""DrissionPage 引擎"""
def __init__(self, is_wap: bool = False, no_img: bool = True):
chrome_opts = ChromiumOptions()
chrome_opts.mute(True) # 静音
chrome_opts.headless(True) # 无头模式
chrome_opts.no_imgs(no_img) # 不加载图片
chrome_opts.set_argument("--disable-gpu") # 禁用GPU
chrome_opts.set_argument('--ignore-certificate-errors') # 忽略证书错误
chrome_opts.set_argument('--start-maximized') # 最大化启动
chrome_opts.set_argument(f'--user-agent={random_ua(is_wap)}') # 设置 UA
chrome_opts.incognito(True)
chrome_opts.auto_port(True)
# 设置代理
if AppCtx.g_app_config.chrome.proxy:
chrome_opts.set_argument('--proxy-server', AppCtx.g_app_config.chrome.proxy)
# 创建浏览器对象
self.browser = Chromium(addr_or_opts=chrome_opts)
def close(self):
self.browser.quit()