打印变量是个很好的理解程序,调试程序的方法
贴一段利用requests包绕过csrf模拟登陆的代码
获取网页真的有好多种方法,urllib,urllib2,requests,bs4,selenium都可以,我相信还有更多的方法可以获取,解析网页。
#-*- coding: utf-8 -*-
import requests
url_login = "http://www.heibanke.com/accounts/login"
url_form = "http://www.heibanke.com/lesson/crawler_ex03/"
def post_login(s,url,data):
print data,1
s.get(url)
params = {'csrfmiddlewaretoken':s.cookies.get('csrftoken')}
print params,2
params.update(data)
print params,3
print data,4
r = s.post(url,data=params)
return r,s
s = requests.Session()
r,s = post_login(s,url_login,{'username':'test','password':'test123'})
print 'login',r.status_code
r = s.post(url_form)
print r.text
这样就通过提取cookies和提交隐藏表单,以及利用Session()这样一个会话对象来保持登陆,为后面的试密码做铺垫。2025 - 快车库 - 我的知识库 重庆启连科技有限公司 渝ICP备16002641号-10
企客连连 表单助手 企服开发 榜单123