我正在为我的雇主编写一个脚本,以从他们自己的网站获取某些数据。出于一长串原因,我需要从网站上获取显示的数据。我发现,其中一些数据是通过 js 调用检索的......
回想起来,我应该选择 mechanize,但我选择了 twill(我认为我可以使用 mechanize,因为 twill 将自己描述为 mechanize 的薄包装)该项目距离完成只有一个电话后,我拼命这样做不想为机械化重写所有基于斜纹的代码。
我需要提交未附加到表单的发布请求。所以我需要机械化(或类似的库)。根据斜纹布的文档,应该有一个机械化浏览器对象可通过以下代码检索:
#after logging in and successfully loading pages
b = get_browser()
mb = b._browser
我得到:
AttributeError: 'TwillBrowser' object has no attribute '_browser'
查看源代码似乎斜纹的浏览器不再使用机械化的浏览器了?
所以我的问题是:
- 斜纹内部是否还有机械化浏览器。
- 如果是这样,我该如何得到它?
- 如果没有,我怎样才能从斜纹布中获取 cookie 以进行机械化,以便我可以使用这些 cookie 发出请求?
理想情况下,我会这样:
cjar = 'cookies.yaml'
save_cookies(cjar)
mb.open(url, data=data, cookies=cjar)
但我知道我需要更多的魔法,而不仅仅是添加 cookies=filename :)