通过 Requests 会话配置 RoboBrowser 代理
将配置好的 Requests 会话传入现有的 RoboBrowser 应用,并在导航过程中保持该会话。
对于现有的 RoboBrowser 应用,传入持有代理默认值的 Requests 会话:
from requests import Session
from robobrowser import RoboBrowser
session = Session()
session.proxies.update({
'http': 'http://proxy.example.net:8080',
'https': 'http://proxy.example.net:8080',
})
browser = RoboBrowser(session=session, parser='html.parser')
browser.open('https://example.net/form')
HTTP 代理列表 可以在不进行代理认证的情况下,为这些默认值提供地址以发出被允许的公开页面请求。RoboBrowser 使用该会话发出自己的请求。同一对象还会在应用导航或提交表单时保留 Cookie 和其他 Requests 状态。不传入该会话而另建浏览器,会创建另一个默认 Session。
对于某个具体操作,RoboBrowser 的公开 open、follow_link 和 submit_form 接口接受请求参数,包括代理选项。当默认值并非每个操作的理想路径时,这提供了操作级别的选择。
Requests 仍然具有其常规的环境合并行为。请把会话的代理视为客户端默认值,并在某个操作选择了其他端点时检查冲突的环境设置。