背景

有一些站点是需要登录之后才能抓取内容的,另外做 web 测试的时候登录是家常便饭。

这一节里我们就以登陆 testerhome 为例,讲解一下 robobrowser 中 form 的操作。

预备知识

代码

#coding: utf-8
import re
from robobrowser import RoboBrowser

url = 'http://testerhome.com/account/sign_in/'
b = RoboBrowser(history=True)
b.open(url)

# 获取登陆表单
login_form = b.get_form(action='/account/sign_in')
print login_form

# 输入用户名和密码
login_form['user[login]'].value = 'your account'
login_form['user[password]'].value = 'your password'

# 提交表单
b.submit_form(login_form)

# 打印登陆成功的信息
print b.select('.alert.alert-success')[0].text

文本版权归乙醇所有,欢迎转载,但请标明出处。

下一节: 完结篇:阅读 robobrowser 的源码


↙↙↙阅读原文可查看相关链接,并与作者交流