【爬虫】DrissionPage-4

官网文档:https://www.drissionpage.cn/browser_control/browser_options

一、核心对象与初始化

1. 类定义
  • 作用:管理Chromium内核浏览器的启动配置,仅在浏览器启动时生效。
  • 导入方式
    from DrissionPage import ChromiumOptions
    
2. 初始化参数
参数名类型默认值说明
read_fileboolTrue是否从ini文件读取配置(False则使用默认配置)
ini_pathstr/PathNone指定ini文件路径(None时读取内置配置文件)
3. 创建示例
# 从ini文件读取配置(默认)
co = ChromiumOptions()

# 使用默认配置(不读取ini文件)
co = ChromiumOptions(read_file=False)

二、启动参数与命令行设置

1. 基础参数操作
方法名作用参数说明
set_argument(arg, value=None)添加启动参数(如--headlessarg:参数名;value:参数值(无值参数传None,删除参数传False
remove_argument(arg)删除指定启动参数arg:参数名(无需值)
clear_arguments()清空所有启动参数无参数
2. 常用预设参数
方法名作用参数类型默认值示例
headless(on_off=True)设置无头模式boolTrueco.headless(True)
incognito(on_off=True)设置无痕模式boolTrueco.incognito()
ignore_certificate_errors(on_off=True)忽略证书错误boolTrueco.ignore_certificate_errors()
no_imgs(on_off=True)禁用图片加载boolTrueco.no_imgs(True)
no_js(on_off=True)禁用JavaScriptboolTrueco.no_js(True)
mute(on_off=True)静音模式boolTrueco.mute(True)

三、路径与端口配置

1. 路径设置
方法名作用参数说明
set_browser_path(path)设置浏览器可执行文件路径path:文件路径(字符串/Path对象)
set_user_data_path(path)设置用户数据目录(配置文件)path:目录路径
use_system_user_path(on_off=True)使用系统默认用户目录on_off:是否启用(默认True
set_tmp_path(path)设置临时文件目录path:目录路径
set_cache_path(path)设置缓存目录path:目录路径
set_download_path(path)设置下载文件路径path:目录路径
set_paths(**kwargs)批量设置路径支持参数:browser_path, user_data_path, download_path
2. 端口与地址
方法名作用参数说明
set_local_port(port)手动设置本地端口port:端口号(整数/字符串)
set_address(address)设置连接地址(格式ip:portaddress:地址字符串(如127.0.0.1:9222
auto_port(on_off=True, scope=None)自动分配端口(多线程适用)on_off:是否启用;scope:端口范围元组(如(5000, 6000),左闭右开)

注意

  • set_local_port()set_address()auto_port()互斥,后调用的方法生效
  • 多进程需通过scope指定端口范围避免冲突。

四、插件与用户配置

1. 插件管理
方法名作用参数说明
add_extension(path)添加插件(支持解压目录或.crx)path:插件路径
remove_extensions()移除所有已添加的插件无参数
existing_only(on_off=True)仅操作已存在的插件(防报错)on_off:是否启用(默认True
2. 用户与偏好设置
方法名作用参数说明
set_user(user='Default')设置用户配置文件夹名称user:文件夹名(如'Profile 1'
set_pref(arg, value)设置浏览器偏好配置arg:配置项名称;value:配置值(如'profile.default_content_settings.popups': 0
remove_pref(arg)删除内存中的偏好配置arg:配置项名称
remove_pref_from_file(arg)删除配置文件中的偏好配置arg:配置项名称
clear_prefs()清空所有偏好配置无参数

五、运行时与网络配置

1. 超时与重试
方法名作用参数说明
set_timeouts(base=None, page_load=None, script=None)设置超时时间(秒)base:默认超时;page_load:页面加载超时;script:JS运行超时
set_retry(times=None, interval=None)设置连接重试策略times:重试次数;interval:重试间隔(秒)
2. 网络与加载策略
方法名作用参数说明
set_load_mode(mode='normal')设置加载模式(提高效率)mode'normal'(默认)、'eager'(DOM就绪)、'none'(仅连接)
set_proxy(proxy)设置浏览器代理(单次生效)proxy:代理字符串(如'http://localhost:1080',不支持带认证代理)
set_user_agent(user_agent)设置用户代理字符串user_agent:完整UA文本(如'Mozilla/5.0 (Windows)...'

六、实验性配置(Chrome Flags)

方法名作用参数说明
set_flag(flag, value=None)设置Chrome实验性参数(chrome://flagsflag:参数名;value:参数值(无值参数不传)
clear_flags()清空内存中的实验性参数无参数
clear_flags_in_file()清空配置文件中的实验性参数无参数

七、状态保存与属性

1. 配置保存
方法名作用参数说明
save(path=None)保存配置到ini文件path:文件路径(None时保存到当前读取的文件)
save_to_default()保存到内置ini文件无参数
2. 只读属性(获取当前配置)
属性名类型说明
addressstr浏览器连接地址(格式ip:port
browser_pathstr浏览器可执行文件路径
user_data_pathstr用户数据目录路径
timeoutsdict超时设置(base, page_load, script
argumentslist启动参数列表
extensionslist插件路径列表

关键使用规则

  1. 配置生效时机:所有设置需在浏览器启动前完成(通过Chromium(co)传递配置对象)。
  2. 互斥方法
    • 端口相关:set_local_port()/set_address()auto_port()互斥,后调用优先。
    • 路径相关:set_user_data_path()auto_port()互斥(自动分配路径会覆盖手动设置)。
  3. 多进程限制auto_port()不支持多进程,需通过scope参数为每个进程分配独立端口范围。
  4. 插件兼容性:推荐使用解压后的插件目录,而非.crx文件(稳定性更高)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值