跳到主要内容

🚄 启动配置

↑ 点击广告支持开源作者 ↑

本节介绍SessionPage的启动配置。

我们用SessionOptions对象管理SessionPage对象初始配置。

注意

SessionOptions仅用于管理启动配置,程序启动后再修改无效。

✅️️ 创建对象

📌 导入

from DrissionPage import SessionOptions

📌 初始化参数

SessionOptions对象用于管理Session对象的初始化配置。可从配置文件中读取配置来进行初始化。

初始化参数类型默认值说明
read_fileboolTrue是否从 ini 文件中读取配置信息,为False则用默认配置创建
ini_pathPath
str
None指定 ini 文件路径,为None则读取内置 ini 文件

创建配置对象:

from DrissionPage import SessionOptions

so = SessionOptions()

默认情况下,SessionOptions对象会从 ini 文件中读取配置信息,当指定read_file参数为False时,则以默认配置创建。

提醒

对象创建时已带有默认 headers,如要清除,可调用clear_headers()方法。


✅️️ 使用方法

创建配置对象后,可调整配置内容,然后在页面对象创建时以参数形式把配置对象传递进去。

from DrissionPage import SessionPage, SessionOptions

# 创建配置对象(默认从 ini 文件中读取配置)
so = SessionOptions()
# 设置代理
so.set_proxies('http://localhost:1080')
# 设置 cookies
cookies = ['key1=val1; domain=****', 'key2=val2; domain=****']
so.set_cookies(cookies)

# 以该配置创建页面对象
page = SessionPage(session_or_options=so)

✅️️ 用于设置的方法

📌 set_headers()

该方法用于设置整个 headers 参数,传入值会覆盖原来的 headers。

headers 可以是dict格式的,也可以是文本格式。

文本格式不同字段用\n分隔,字段 key 和 value 用': '分隔,即从浏览器直接复制的格式。

参数名称类型默认值说明
headersdict
str
必填headers 信息
返回类型说明
SessionOptions配置对象本身

示例:

so.set_headers = {'user-agent': 'Mozilla/5.0 (Macint...', 'connection': 'keep-alive' ...}

📌 set_a_header()

该方法用于设置headers中的一个项。

参数名称类型默认值说明
namestr必填设置名称
valuestr必填设置值
返回类型说明
SessionOptions配置对象本身

示例:

so.set_a_header('accept', 'text/html')
so.set_a_header('Accept-Charset', 'GB2312')

输出:

{'accept': 'text/html', 'accept-charset': 'GB2312'}

📌 remove_a_header()

此方法用于从headers中移除一个设置项。

参数名称类型默认值说明
namestr必填要删除的设置
返回类型说明
SessionOptions配置对象本身

示例:

so.remove_a_header('accept')

📌 clear_headers()

此方法用于清空已设置的headers参数。

参数:

返回类型说明
SessionOptions配置对象自身

📌 set_cookies()

此方法用于设置一个或多个 cookie,每次设置会覆盖之前所有 cookies 信息。

详细用法见实用教程相关章节。

参数名称类型默认值说明
cookiesCookie
CookieJar
list
tuple
str
dict
必填cookies
返回类型说明
SessionOptions配置对象本身

示例:

cookies = ['key1=val1; domain=****', 'key2=val2; domain=****']
so.set_cookies(cookies)

📌 set_timeout()

此方法用于设置连接超时属性。

参数名称类型默认值说明
secondfloat必填连接等待秒数
返回类型说明
SessionOptions配置对象本身

📌 set_retry()

此方法用于设置页面连接超时时的重试次数和间隔。

参数名称类型默认值说明
timesintNone连接失败重试次数
intervalfloatNone连接失败重试间隔(秒)
返回类型说明
SessionOptions配置对象本身

📌 retry_times

该属性返回连接失败时的重试次数。

类型:int


📌 retry_interval

该属性返回连接失败时的重试间隔(秒)。

类型:float


📌 set_proxies()

此方法用于设置代理信息。

参数名称类型默认值说明
httpstr必填http 代理地址
httpsstrNonehttps 代理地址,为None时使用http参数的值
返回类型说明
SessionOptions配置对象本身

示例:

so.set_proxies('http://127.0.0.1:1080')

📌 set_download_path()

参数名称类型默认值说明
pathstr
Path
必填默认下载保存路径
返回类型说明
SessionOptions配置对象本身

📌 set_auth()

此方法用于设置认证元组信息。

参数名称类型默认值说明
authtuple
HTTPBasicAuth
必填认证元组或对象
返回类型说明
SessionOptions配置对象本身

📌 set_hooks()

此方法用于设置回调方法。

参数名称类型默认值说明
hooksdict必填回调方法
返回类型说明
SessionOptions配置对象本身

📌 set_params()

此方法用于设置查询参数。

参数名称类型默认值说明
paramsdict必填查询参数字典
返回类型说明
SessionOptions配置对象本身

📌 set_cert()

此方法用于设置 SSL 客户端证书文件的路径(.pem格式),或 ('cert', 'key') 元组。

参数名称类型默认值说明
certstr
tuple
必填证书路径或元组
返回类型说明
SessionOptions配置对象本身

📌 set_verify()

此方法用于设置是否验证SSL证书。

参数名称类型默认值说明
on_offbool必填bool表示开或关
返回类型说明
SessionOptions配置对象本身

📌 add_adapter()

此方法用于添加适配器。

参数名称类型默认值说明
urlstr必填适配器对应 url
adapterHTTPAdapter必填适配器对象
返回类型说明
SessionOptions配置对象本身

📌 set_stream()

此方法用于设置是否使用流式响应内容。

参数名称类型默认值说明
on_offbool必填bool表示开或关
返回类型说明
SessionOptions配置对象本身

📌 set_trust_env()

此方法用于设置是否信任环境。

参数名称类型默认值说明
on_offbool必填bool表示开或关
返回类型说明
SessionOptions配置对象本身

📌 set_max_redirects()

此方法用于设置最大重定向次数。

参数名称类型默认值说明
timesint必填最大重定向次数
返回类型说明
SessionOptions配置对象本身

✅️️ 保存设置到文件

您可以把不同的配置保存到各自的 ini 文件,以便适应不同的场景。

注意

hooksadapters配置是不会保存到文件中的。

📌 save()

此方法用于保存配置项到一个 ini 文件。

参数名称类型默认值说明
pathstr
Path
Noneini 文件的路径, 传入None保存到当前读取的配置文件
返回类型说明
str保存的 ini 文件绝对路径

示例:

# 保存当前读取的ini文件
so.save()

# 把当前配置保存到指定的路径
so.save(path=r'D:\tmp\settings.ini')

📌 save_to_default()

此方法用于保存配置项到固定的默认 ini 文件。默认 ini 文件是指随 DrissionPage 内置的那个。

参数:

返回类型说明
str保存的 ini 文件绝对路径

示例:

so.save_to_default()

✅️️ SessionOptions属性

📌 headers

该属性返回 headers 设置信息。

类型:dict


📌 cookies

此属性以list方式返回 cookies 设置信息。

类型:list


📌 proxies

此属性返回代理信息。

类型:dict 格式:{'http': 'http://**.**.**.**:****', 'https': 'http://**.**.**.**:****'}


📌 auth

此属性返回认证设置。

类型:tupleHTTPBasicAuth


📌 hooks

此属性返回回调方法设置。

类型:dict


📌 params

此属性返回查询参数设置。

类型:dict


📌 verify

此属性返回是否验证 SSL 证书设置。

类型:bool


📌 cert

此属性返回 SSL 证书设置。

类型:strtuple


📌 adapters

此属性返回适配器设置。

类型:List[HTTPAdapter]


📌 stream

此属性返回是否使用流式响应设置。

类型:bool


📌 trust_env

此属性返回是否信任环境设置。

类型:bool


📌 max_redirects

此属性返回max_redirects设置。

类型:int


📌 timeout

此属性返回连接超时设置。

类型:intfloat


📌 download_path

此属性返回默认下载路径设置。

类型:str