当前位置: 首页 > news >正文

python爬虫--简单登录

1,使用flask框架搭建一个简易网站

后端代码app.py

from flask import Flask, render_template, request, redirect, url_for, sessionapp = Flask(__name__)
app.secret_key = '123456789'  # 用于加密会话数据# 模拟用户数据库
users = {'user1': {'password': 'password1'},'user2': {'password': 'password2'}
}@app.route('/')
def home():return render_template('login.html')@app.route('/login', methods=['POST'])
def login():username = request.form['username']password = request.form['password']if username in users and users[username]['password'] == password:session['username'] = usernamereturn redirect(url_for('dashboard'))else:return render_template('login.html', error='Invalid username or password')@app.route('/dashboard')
def dashboard():if 'username' in session:return render_template('dashboard.html', username=session['username'])else:return redirect(url_for('home'))@app.route('/logout')
def logout():session.pop('username', None)return redirect(url_for('home'))if __name__ == '__main__':app.run(debug=True)

前端代码
登录:login.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Login</title>
</head>
<body><h1>Login</h1>{% if error %}<p style="color: red;">{{ error }}</p>{% endif %}<form action="{{ url_for('login') }}" method="post"><label for="username">Username:</label><input type="text" id="username" name="username" required><br><label for="password">Password:</label><input type="password" id="password" name="password" required><br><input type="submit" value="Login"></form>
</body>
</html>

仪表盘:dashboard.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Dashboard</title>
</head>
<body><h1>Welcome, {{ username }}!</h1><a href="{{ url_for('logout') }}">Logout</a>
</body>
</html>

启动app.py,访问http://127.0.0.1:5000进行测试
登录页面
登陆成功

2,抓包

简单的登录抓包可以直接使用浏览器自带的
点击F12,进入开发者模式,然后点击网络

点击网络
输入账号密码,抓包
查看请求标头
记录标头
查看负载,也就是数据
在这里插入图片描述
查看响应标头
在这里插入图片描述

明确流程:
输入账号和密码之后,会在后端验证,验证成功后会将当前网页重定向到dashboard.html

3,模拟登录

方法一
import requests# 登录页面的URL
login_url = 'http://127.0.0.1:5000/login'# 登录表单数据
data = {'username': 'user1','password': 'password1'
}# 发送POST请求
response = requests.post(login_url, data=data)# 检查响应状态码
if response.status_code == 200:print('登录成功')
else:print('登录失败')

在这里插入图片描述

方法二
pip install selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys# 创建浏览器实例
driver = webdriver.Chrome()  # 假设你使用的是Chrome浏览器# 打开登录页面
driver.get('http://127.0.0.1:5000/')# 找到用户名和密码输入框,并输入相应的值
username_input = driver.find_element_by_name('username')
password_input = driver.find_element_by_name('password')username_input.send_keys('user1')
password_input.send_keys('password1')# 提交表单
password_input.send_keys(Keys.RETURN)# 检查是否登录成功
if 'Welcome' in driver.page_source:print('登录成功')
else:print('登录失败')# 关闭浏览器
driver.quit()
方法三
import requests# 创建会话对象
session = requests.Session()# 登录页面的URL
login_url = 'http://127.0.0.1:5000/login'# 登录表单数据
data = {'username': 'user1','password': 'password1'
}# 发送POST请求
response = session.post(login_url, data=data)# 检查响应状态码
if response.status_code == 200:print('登录成功')
else:print('登录失败')# 使用会话对象发送其他请求
dashboard_url = 'http://127.0.0.1:5000/dashboard'
dashboard_response = session.get(dashboard_url)if 'Welcome' in dashboard_response.text:print('访问仪表盘成功')
else:print('访问仪表盘失败')


Adobe系列工具全家桶地址:https://8ma.co/res/J3TL3A1M
网盘空间要钱,所以是付费资源,只需打赏一yuan,自愿付费,望海涵!!!谢谢支持!!!

相关文章:

python爬虫--简单登录

1&#xff0c;使用flask框架搭建一个简易网站 后端代码app.py from flask import Flask, render_template, request, redirect, url_for, sessionapp Flask(__name__) app.secret_key 123456789 # 用于加密会话数据# 模拟用户数据库 users {user1: {password: password1}…...

人工智能浪潮下脑力劳动的变革与重塑:挑战、机遇与应对策略

一、引言 1.1 研究背景与意义 近年来&#xff0c;人工智能技术发展迅猛&#xff0c;已成为全球科技领域的焦点。从图像识别、语音识别到自然语言处理&#xff0c;从智能家居、智能交通到智能医疗&#xff0c;人工智能技术的应用几乎涵盖了我们生活的方方面面&#xff0c;给人…...

ESP32-S3驱动步进电机以及梯形加减速库调用

一、硬件连接说明 电机与驱动器连接&#xff1a; 42BYGH39-401A步进电机有4根引线&#xff0c;分别连接到驱动器&#xff08;如TB6600&#xff09;的电机接口上。 电机引脚A、A-、B、B-分别连接到驱动器对应的电机接口。 驱动器与ESP32-S3连接&#xff1a; ESP32-S3的GPIO引脚…...

【CubeMX+STM32】SD卡 文件系统读写 FatFs+SDIO+DMA

本篇&#xff0c;将使用CubeMXKeil&#xff0c;创建一个SD卡的 FatFSSDIODMA 文件系统读写工程。 目录 一、简述 二、CubeMX 配置 FatFSSDIO DMA 三、Keil 编辑代码 四、实验效果 实现效果&#xff0c;如下图&#xff1a; 一、简述 上两篇&#xff0c;已循序渐进讲解了SD、…...

Kotlin 2.1.0 入门教程(十)if、when

if 表达式 if 是一个表达式&#xff0c;它会返回一个值。 不存在三元运算符&#xff08;condition ? then : else&#xff09;&#xff0c;因为 if 在这种场景下完全可以胜任。 var max aif (a < b) max bif (a > b) {max a } else {max b }max if (a > b) a…...

AJAX项目——数据管理平台

黑马程序员视频地址&#xff1a; 黑马程序员——数据管理平台 前言 功能&#xff1a; 1.登录和权限判断 2.查看文章内容列表&#xff08;筛选&#xff0c;分页&#xff09; 3.编辑文章&#xff08;数据回显&#xff09; 4.删除文章 5.发布文章&#xff08;图片上传&#xff0…...

华为云搭建微信小程序商城后台

目录 安装宝塔界面 配置运行环境 1. 修改默认用户名密码 2. 修改默认端口号 3. 安装依赖软件 4. 安装商城 配置商城 1. 点击下一步进行商城环境检测 2. 将安装ShopXO成功后的弹窗信息填写到配置界面 3. 点击安装 发布小程序 源代码地址 1. 下载HBuilderX 2. 导入插…...

5、大模型的记忆与缓存

文章目录 本节内容介绍记忆Mem0使用 mem0 实现长期记忆 缓存LangChain 中的缓存语义缓存 本节内容介绍 本节主要介绍大模型的缓存思路&#xff0c;通过使用常见的缓存技术&#xff0c;降低大模型的回复速度&#xff0c;下面介绍的是使用redis和mem0&#xff0c;当然redis的语义…...

Windows下AMD显卡在本地运行大语言模型(deepseek-r1)

Windows下AMD显卡在本地运行大语言模型 本人电脑配置第一步先在官网确认自己的 AMD 显卡是否支持 ROCm下载Ollama安装程序模型下载位置更改下载 ROCmLibs先确认自己显卡的gfx型号下载解压 替换替换rocblas.dll替换library文件夹下的所有 重启Ollama下载模型运行效果 本人电脑配…...

代码随想录day09

151.反转字符串中的单词&#xff0c;需二刷 //先去除多余空格&#xff0c;再反转所有字符&#xff0c;再反转单词&#xff0c;即可反转字符串中的单词 void removeWhiteSpace(string& s){int slowIndex 0;for(int fastIndex 0; fastIndex < s.size(); fastIndex){if(…...

Racecar Gym 总结

1.Racecar Gym 简介 Racecar Gym 是一个基于 PyBullet 物理引擎 的自动驾驶仿真平台&#xff0c;提供 Gymnasium&#xff08;OpenAI Gym&#xff09; 接口&#xff0c;主要用于强化学习&#xff08;Reinforcement Learning, RL&#xff09;、多智能体竞速&#xff08;Multi-Ag…...

【C++高并发服务器WebServer】-15:poll、epoll详解及实现

本文目录 一、poll二、epoll2.1 相对poll和select的优点2.2 epoll的api2.3 epoll的demo实现2.5 epoll的工作模式 一、poll poll是对select的一个改进&#xff0c;我们先来看看select的缺点。 我们来看看poll的实现。 struct pollfd {int fd; /* 委托内核检测的文件描述符 */s…...

Visual Studio 2022 中使用 Google Test

要在 Visual Studio 2022 中使用 Google Test (gtest)&#xff0c;可以按照以下步骤进行&#xff1a; 安装 Google Test&#xff1a;确保你已经安装了 Google Test。如果没有安装&#xff0c;可以通过 Visual Studio Installer 安装。在安装程序中&#xff0c;找到并选择 Googl…...

Office/WPS接入DeepSeek等多个AI工具,开启办公新模式!

在现代职场中&#xff0c;Office办公套件已成为工作和学习的必备工具&#xff0c;其功能强大但复杂&#xff0c;熟练掌握需要系统的学习。为了简化操作&#xff0c;使每个人都能轻松使用各种功能&#xff0c;市场上涌现出各类办公插件。这些插件不仅提升了用户体验&#xff0c;…...

Meta AI 最近推出了一款全新的机器学习框架ParetoQ,专门用于大型语言模型的4-bit 以下量化

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

操作系统—进程与线程

补充知识 PSW程序状态字寄存器PC程序计数器&#xff1a;存放下一条指令的地址IR指令寄存器&#xff1a;存放当前正在执行的指令通用寄存器&#xff1a;存放其他一些必要信息 进程 进程&#xff1a;进程是进程实体的运行过程&#xff0c;是系统进行资源分配和调度的一个独立单位…...

团队:前端开发工期参考 / 防止工期不足、过足、工期打架

一、前端开发工期参考 序号功能 / 模块 / 页面 / 描述pc端&#xff08;数值为比例&#xff09;小程序端&#xff08;数值为比例&#xff09;1简单页面 / 常规页面1&#xff1a;12复杂页面&#xff08;功能复杂 / 逻辑复杂&#xff09;1&#xff1a;1.5 / 1&#xff1a;2 / …...

APL语言的云计算

APL语言的云计算&#xff1a;一种灵活而高效的编程方式 引言 随着信息技术的迅猛发展&#xff0c;云计算已经成为现代计算的重要组成部分。云计算不仅带来了计算资源的高效利用&#xff0c;也引发了新一轮的技术革命。在这个背景下&#xff0c;APL&#xff08;A Programming …...

idea启动报错# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffccf76e433

# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc0x00007ffccf76e433, pid17288, tid6696 # # JRE version: (11.0.248) (build ) # Java VM: OpenJDK 64-Bit Server VM (11.0.248-LTS, mixed mode, sharing, tiered, compressed oops, g1 gc, windows-amd64) 不知道为什么…...

C++拷贝构造函数与运算符重载应该注意的一个问题?

看下面的例子&#xff1a; class TestClass { public:char* _pdata;size_t _nLength;public:TestClass(const TestClass& other) {_nLength other._nLength;_pdata new char[_nLength];memcpy((void*)_pdata,other._pdata, _nLength 1);}TestClass(const char* pstr) {…...

ExplorerPatcher:Windows资源管理器崩溃修复与体验增强的终极解决方案

ExplorerPatcher&#xff1a;Windows资源管理器崩溃修复与体验增强的终极解决方案 【免费下载链接】ExplorerPatcher 提升Windows操作系统下的工作环境 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher 你是否经历过Windows 11资源管理器频繁崩溃的困…...

从DTC诊断码到ECU恢复:深入解析车载CAN总线的BUSOFF快慢恢复机制

从DTC诊断码到ECU恢复&#xff1a;车载CAN总线BUSOFF快慢恢复机制实战指南 当CAN总线上的某个ECU因连续发送失败而触发BUSOFF状态时&#xff0c;整个车载网络的稳定性便面临严峻考验。作为汽车电子诊断工程师&#xff0c;我们常常需要在深夜的生产线上&#xff0c;面对闪烁的故…...

如何用WeChatMsg实现微信聊天记录的永久保存与深度分析

如何用WeChatMsg实现微信聊天记录的永久保存与深度分析 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg …...

延时补偿预测器

Active flux基于扰动观测器补偿仿真模型&#xff1a; &#xff08;1&#xff09;1.5周期延时补偿 &#xff08;2&#xff09;相电压补偿 &#xff08;2&#xff09;扰动观测器补偿最近在调试电机控制项目的时候&#xff0c;总遇到Active Flux观测器输出波形抖动的问题。工程师们…...

Vue3+monaco-editor实战:如何让代码编辑器完美适应侧边栏折叠?

Vue3与monaco-editor深度整合&#xff1a;动态布局的工程化实践 侧边栏折叠交互已成为现代Web应用的标配功能&#xff0c;但当这种动态布局遇上代码编辑器这类复杂组件时&#xff0c;开发者往往会遇到布局错位、滚动条异常等顽固问题。本文将分享在Vue3项目中实现monaco-editor…...

如何在1小时内掌握TinySAM:从零开始构建高效图像分割模型

如何在1小时内掌握TinySAM&#xff1a;从零开始构建高效图像分割模型 【免费下载链接】TinySAM 项目地址: https://gitcode.com/gh_mirrors/ti/TinySAM 想象一下&#xff0c;你需要在移动设备上实时分割图像中的任意物体&#xff0c;但传统模型动辄几百兆&#xff0c;运…...

我把DeepSeek调教成了我的‘专属文案总监’:角色扮演Prompt的实战配置手册

把DeepSeek调教成你的「专属文案总监」&#xff1a;高阶Prompt工程实战指南 当市场部的Lisa第一次用AI生成产品文案时&#xff0c;她得到的是一篇充满技术术语的说明文&#xff1b;而运营总监Mike让AI写的周报&#xff0c;读起来像学术论文。这就像给米其林大厨一台高级烤箱&a…...

终极指南:如何用虚拟手柄驱动解锁Windows游戏新玩法

终极指南&#xff1a;如何用虚拟手柄驱动解锁Windows游戏新玩法 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾梦想过用键盘鼠标玩主机游戏&#x…...

从模型到应用:深入解析Source-Free Domain Adaptation(SFDA)的核心挑战与实战策略

1. 什么是Source-Free Domain Adaptation&#xff08;SFDA&#xff09;&#xff1f; 想象一下你是一个厨师&#xff0c;花了三年时间在四川学会了做正宗川菜。现在突然被派到广东工作&#xff0c;发现当地人对辣味的接受度完全不同。更麻烦的是&#xff0c;你不能带任何四川的食…...

8个单元素CSS加载器终极指南:如何用纯CSS创建高性能动画效果

8个单元素CSS加载器终极指南&#xff1a;如何用纯CSS创建高性能动画效果 【免费下载链接】css-loaders A collection of loading spinners animated with CSS 项目地址: https://gitcode.com/gh_mirrors/cs/css-loaders 在现代Web开发中&#xff0c;CSS加载器已成为提升…...