简单参考 Python3实现网站模拟登录 写了个python模拟登录教务系统,具体用到了selenium浏览器自动测试框架,参考了 Flask 的文档 作接口。代码供参考。

import time
from selenium import webdriver  # 网页自动化
from flask import Flask, requestapp = Flask(__name__)login_url = ""  # 教务登录页面
base_url = ""  # 教务首页headers = {"User-Agent": "Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit/537.36(KHTML, likeGecko) Chrome/91.0.4472.124 Safari/537.36","Origin": "https://jwxt.sztu.edu.cn"
}  # 用户代理,模拟机器类型
cookies = {}@app.route("/login", methods=['POST'])
def login():print("request.json: ", request.json)options = webdriver.ChromeOptions()options.add_experimental_option("excludeSwitches", ["enable-logging"])driver = webdriver.Chrome(options=options)try:driver.get(login_url)driver.find_element_by_id('j_username').clear()  # 清空输入框driver.find_element_by_id('j_username').send_keys(request.json['school_id'])  # 自动敲入用户名driver.find_element_by_id('j_password').clear()  # 清空输入框driver.find_element_by_id('j_password').send_keys(request.json['password'])  # 自动敲入密码driver.find_element_by_id('loginButton').click()time.sleep(1)driver.get(base_url)for cookie in driver.get_cookies():cookies[cookie['name']] = cookie['value']print("cookies: ", cookies)finally:driver.quit()if not cookies:return {"error": "登录失败,账号或密码错误",}, 403return {"cookies": cookies}

请求中带有模拟登录成功后获取的cookies即可爬取教务其它网页的数据,建议做成函数接口如下。获取后即可进行一些正则提取相应片段的数据,可参考我之前的 Python简单正则使用。

def get(url):return requests.get(url, headers=headers, timeout=2, cookies=cookies, verify=False)

python简单模拟登录网站(以登录教务系统为例)相关推荐

  1. 用Python简单模拟《原神》抽卡系统

    用Python简单模拟<原神>抽卡系统[抽卡模拟器] 简介 代码思想 保底机制 概率 概率公式 代码构建 导入软件包random和os 初始化概率 增加概率 保底机制 创建文件夹 抽卡次数 ...

  2. 模拟登陆广西科技大学正方教务系统

    一.首先对登录过程进行抓包,看看需要什么数据   登录地址:教学管理信息服务平台 我们可以看到登录采用POST对http://jwxt.gxust.edu.cn:9600/xtgl/login_slo ...

  3. php正方系统抓取课表,以正方教务系统为例,用php模拟登陆抓取课表、空教室,抓取课表...

    以正方教务系统为例,用php模拟登陆抓取课表.空教室,抓取课表 课程格子和超级课程表这两个应用,想必大学生都很熟悉,使用自己的学号和教务系统的密码,就可以将自己的课表导入,随时随地都可以在手机上查看. ...

  4. nodejs模拟登陆旧版正方教务系统

    nodejs模拟登陆旧版正方教务系统 nodejs模拟登陆学校教务系统 1.分析教务系统地址 2.分析请求头和请求数据 3.对Cookie.__VIEWSTATE数据的获取 (1)获取cookie ( ...

  5. 安卓开发-模拟登陆上海理工大学-方正教务系统(HttpsURLConnection)

    通过HttpsURLConnection模拟登录 今天,写一下基于方正教务系统的上海理工大学教务系统,项目放在了码云,有需要的可以直接翻到最后查看 首先还是登陆一下,看看我们在登陆的时候提交了什么 火 ...

  6. 解决进不了网页,检查问题为DNS error(以连接校园网进不去教务系统为例)

    一..问题描述:连接校园网却进不去教务系统,后来复制网址在IE浏览器中发现是DNS error问题. 二.解决方法:重置浏览器.方法如下(用win10 IE11 浏览器举例): Win10系统下重置I ...

  7. python 2.7 简单模拟登陆网站

    举个栗子,首先创建网络会话, 然后就可以用创建的session来访问网页了. session.get(URL) #-*- coding:utf-8 -*- import requests import ...

  8. 使用Python简单模拟Linux系统的tree工具

    Linux系统中有个tree工具可以用比较好看的形式来显示指定文件夹的目录结构.例如下图(来自于网络): 本文代码使用Python对Linux系统的tree命令简单进行了模拟,不过还不是特别像,大家可 ...

  9. 操作系统银行家算法python简单模拟

    40个进程随机申请资源,满足则分配资源. import numpy as np import time import random as rd class PCB:safe_seq=[]#安全序列X= ...

最新文章

  1. 【EMC】电磁兼容性相关名词解释、基础知识
  2. (转)I 帧和 IDR 帧的区别
  3. LeetCode 75. Sort Colors--Python解法
  4. JSP实现网上招标系统
  5. 自己身份信息泄漏了怎么办,别怕,带你了解身份管理与访问控制
  6. 学习CTF(二进制安全)一个月多的奇妙冒险~;
  7. linux多系统更改启动顺序
  8. css 一些好玩的属性,推荐一些比较有用的css3新属性
  9. T-SQL命令性能比较– NOT IN与SQL NOT EXISTS与SQL LEFT JOIN与SQL EXCEPT
  10. 计算机“复制粘贴”之父去世
  11. L3-016 二叉搜索树的结构 (30 分)
  12. OWASP 2013年十大Web应用安全漏洞
  13. c# ThreadPoold使用心得
  14. 零基础多久能学会python_零基础小白多久能学会python
  15. 5.2g信道用哪个好_记工记账软件哪个比较实用?建筑工地用哪个记工记账软件好?...
  16. Raspberry3B+搭建有线路由器-实现网口转发
  17. 微信表情包小程序,更新登录接口,增加举牌功能
  18. 蓬莱与威海的几尊塑像
  19. MATLAB 实现电子版的手写签名
  20. 张北川:命名数据网络(NDN)

热门文章

  1. 颜色矩特征提取matlab,彩色图像特征提取研究(一)
  2. PHP 中高级程序员面试模拟题
  3. 2019年 8月8日 日报
  4. 计算机字号调整,调整系统字体大小【操作步骤】
  5. 校园服务小程序源代码分享园服务微信小程序全开源版源码-包含服务端
  6. 项目调研丨以太坊再质押项目EigenLayer白皮书四大看点(内附完整版中文白皮书)
  7. python 环境变量的查看
  8. #概率#洛谷 3802 小魔女帕琪
  9. 毕业设计-基于 MATLAB 的图形图像处理系统的设计与实现
  10. <artifactId>spring-boot-maven-plugin</artifactId>报错问题