关于python模拟登陆

发布于 2022-09-02 01:38:13 字数 1818 浏览 16 评论 0

  1. 描述你的问题
    爬我们学校的门户网站,不知道哪里出了问题,post完最后还是返回到了原页面,没有跳转

  2. 贴上相关代码

    #!/usr/bin/python  
    #coding=utf-8    
    import os
    import requests
    import webbrowser
    from bs4 import BeautifulSoup
    #登录的主页面  
    url = 'https://portal.cug.edu.cn/zfca/login'  
    
    headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0',
    'Referer':'https://portal.cug.edu.cn/zfca/login'
    }
    
    s = requests.session()
    
    #抓取表单中的一个数据
    r = s.get(url, verify=False)        
    soup=BeautifulSoup(r.content)
    input=soup.find_all('input')
    lt=input[8]['value']
    
    #抓取验证码
    captcha_url = 'https://portal.cug.edu.cn/zfca/captcha.htm?random=0.7590469735536657'
    captcha = s.get(captcha_url,verify=False)
    f = open('e:/captcha2.jpg', 'wb')
    for line in captcha.iter_content():
        f.write(line)
    f.close()
    webbrowser.open('E:\captcha2.jpg')
    print u'输入验证码:' 
    captcha = raw_input() 
    
    #构造Post数据
    postData = {
            'useValidateCode': '0',
            'isremenberme':    '0',
            'usename':    '20141002570',
            'password':    '*******',
            'j_captcha_response':    captcha,
            'losetime':'',
            'lt':lt,
            '_eventId':'submit',
            'submit':'%B5%C7%A1%A1%C2%BC'
    }
    res=s.post(url,data=postData,headers=headers,verify=False)
    print res.headers
    print res.status_code
    
    #写入文件
    BASE_DIR = os.path.dirname(__file__) #获取当前文件夹的绝对路径
    file_path = os.path.join(BASE_DIR, 'cug.txt') 
    file=open(file_path,'w')
    file.write(res.text.encode('gbk'))
    file.close()
  3. 贴上报错信息

  4. 贴上相关截图
    图片描述

图片描述

用Tamper抓到的数据

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冷弦 2022-09-09 01:38:13

找到问题了。。。。。。。。。搞了这么多天,疯了。。。就是因为表单里usename缺了一个r

面犯桃花 2022-09-09 01:38:13

应该是你没有携带cookie的问题吧。看看下面这个问题吧。
模拟登陆网站如何跳转。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文