python模拟登陆

模拟无验证码的登陆

模拟网站http://bbs.chinaunix.net/member.php?mod=logging&action=login&logsubmit=yes
浏览器:chrome

1.按F12,输入个人账号密码,点击登陆(点击登陆前建议把列表清空),找到下面代码里面字典header数据

2.png

2.点击登陆,页面跳转,点击暂停,在fox里面找到post属性的一栏,找到下面代码里面字典post数据

1.png

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,得到如图所示的结果:

3.png

登陆成功!

推荐阅读更多精彩内容

  • 一、查看登陆 先在浏览器中 按住 ctrl + shift + N 打开隐身模式,避免我们已经登陆的cookie信...
    股锅阅读 233评论 2 5
  • (之前一直不知道简述可以用Markdown,所以用这个格式弄了一下,代码更易读一点,内容基本没变。。。)玩了那么久...
    adminlzzs阅读 3,389评论 1 9
  • 前端时间一直琢磨Python爬虫,本来想写一个登陆学校系统的爬虫,顺便然后可以爬取绩点之类的,但是奈何学识不够,感...
    HenrySHE阅读 204评论 0 1
  • 这几天在学习模拟登陆,而登陆离不开http中Cookie技术 Cookie 由于HTTP是一种无状态的协议,服务器...
    Treehl阅读 446评论 1 3
  • 昨天的你和今天的你 祝你十九岁生日快乐🎂 我想过了无数想要送给你的礼物和说给你的话 现在想说是有你真好 喜欢你的一...
    哎呀佳伶妹_阅读 16评论 0 1