跳到主内容

twill - 浏览网页的脚本语言

twill的用途

twill可以用来在命令行浏览网页,当然, 更可以用来自动获取某些信息, 特别是需要登录才能获取的. 例如图书馆的书什么时候到期.

twillpython的库, 可以直接在python中调用. 它还提供一个命令行程序, twill-sh, 可以直接在命令行中调用. 以前用过mechanize(以前的clientform), 也是python的一个库, 但是感觉有点乱. twill的好处就是很直觉的操作, 例如输入用户名/密码,按"提交"按钮, 等等.

twill操作

具体操作它有自己的脚本格式. 下面是个简单的例子:

go http://xxx.com/login
formvalue 1 username YOURNAME
formvalue 1 password PASSWORD
submit
save_html xxx.html

以上代码就是到某网页,输入用户名/密码,提交,保存得到的页面. 然后则可以从保存的内容中提取需要的信息了.

其他

重导向死循环

有的网站设计有问题,例如我们council的图书馆,登录之后会进入死循环.只好先设置

config acknowledge_equiv_refresh false

登录后直接go到相应页面即可.

替换品: curl

根据阮一峰的文章, curl也可以操作表单啥的. 这样就可以把数据拿下来了.