http://robobrowser.readthedocs.org/en/latest/api.html
我正在尝试使用browser.open(myurl)
并寻找类似于requests.post(url,data=data)
.
由于 robobrowser 建立在 requests 和 beautifulsoup 之上,所以我认为必须有办法做到这一点。
http://robobrowser.readthedocs.org/en/latest/api.html
我正在尝试使用browser.open(myurl)
并寻找类似于requests.post(url,data=data)
.
由于 robobrowser 建立在 requests 和 beautifulsoup 之上,所以我认为必须有办法做到这一点。
您可以重新使用requests.Session()
对象的对象来使用相同的 cookieRoboBrowser
执行您自己的 s:POST
response = browser.session.post(...)
但是RoboBrowser
状态不会更新;您必须将response
对象传递给RoboBrowser._update_state()
方法。
browser._update_state(response)
但是,对于 AJAX 请求,您不需要这样做。
考虑到图书馆的未来版本可能会改变它的工作方式;这不是记录在案的方法。
但是,通常您会发布到站点,因为您正在处理表单提交;将其留给提供的库功能(RoboBrowser.get_form()
,然后RoboBrowser.submit_form()
)。
从 0.5.3 版开始,您可以像这样发送 POST 请求:
browser.open(url, method='post', data=data)
粗略浏览器的状态和会话将自动更新。