模拟无验证码的登陆
模拟网站http://bbs.chinaunix.net/member.php?mod=logging&action=login&logsubmit=yes
浏览器:chrome
1.按F12,输入个人账号密码,点击登陆(点击登陆前建议把列表清空),找到下面代码里面字典header数据
2.点击登陆,页面跳转,点击暂停,在fox里面找到post属性的一栏,找到下面代码里面字典post数据
3.代码如下:
#!/usr/bin/env python
# coding: utf-8
import requests
from bs4 import BeautifulSoup
posturl = 'http://bbs.chinaunix.net/member.php?mod=logging&action=login&loginsubmit=yes&loginhash=LJDfJ'#提交的带用户名密码的posturl
hosturl = 'http://bbs.chinaunix.net/member.php?mod=logging&action=login&logsubmit=yes'#登陆页面的代码
post = { 'formhash':'f38f81ed',
'referer':'http%3A%2F%2Fbbs.chinaunix.net%2F',
'username':u'西歪诶'.encode('gbk'),
'password':'AN87422006',
'loginsubmit':'true',
'return_type':''
}
header = { 'Upgrade-Insecure-Requests':'1',
'Host':'bbs.chinaunix.net',
'Referer':'http://bbs.chinaunix.net/member.php?mod=logging&action=logout&formhash=a1b12b75',
'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
header_session = requests.Session()#使用seesion登录,这样的好处是可以在接下来的访问中可以保留登录信息
header_session.post(hosturl, data = post, headers = header)#登录hosturl
login_page = header_session.get(posturl, headers = header).content#requests的session登录,以post方式,参数分别为posturl、headers
f = open('china.html', 'w')
f.write(login_page)
f.close()#打开china.html文件,可以发现已经登陆进去
4.打开china.html,得到如图所示的结果:
登陆成功!