我正在为我的雇主写一个脚本,从他们自己的网站上获取某些数据。由于一长串的原因,我需要得到的数据从网站上显示出来。我发现,有些数据是通过js调用检索的
回想起来,我应该选择mechanize,但是我选择了twill(我认为我可以访问mechanize,因为twill将自己描述为mechanize的薄包装器),项目离完成只有一次后期调用,我非常不想重写我所有基于twill的mechanize代码
我需要提交一个没有附在表格上的职位申请。所以我需要mechanize(或者类似的lib)。根据twill的文档,应该有一个可以通过以下代码检索的mechanize浏览器对象:
#after logging in and successfully loading pages
b = get_browser()
mb = b._browser
我得到:
AttributeError: 'TwillBrowser' object has no attribute '_browser'
从源代码看,twill的浏览器似乎不再使用mechanize的浏览器了
所以我的问题是:
理想情况下我会这样:
cjar = 'cookies.yaml'
save_cookies(cjar)
mb.open(url, data=data, cookies=cjar)
但我知道我需要的不仅仅是添加cookies=filename:)
不,它不再是斜纹的。虽然pip安装twill仍然将mechanize包含到twill的文件中,但twill的代码从未导入这些模块
从我所读到的,似乎没有一个简单或琐碎的方法来做到这一点。 您可以从twill保存cookies(但不能自定义保存方式)。Mechanize需要帮助来读取cookie文件,加载cookie文件时需要忽略持久性等。Mechanize确实提供了执行此操作的能力,但我还没有找到任何可用的代码。
在我的例子中,编写一个用twill和mechanize登录的方法比较容易
相关问题 更多 >
编程相关推荐