Python模拟登陆网页的三种方法小结

 更新时间:2024年01月28日 11:33:39   作者:水月梨诺  
如何使用Python模拟登陆网页,尤其是在涉及到复杂的认证机制时?这篇文章将详细介绍Python模拟登陆网页的三种方法,以及如何绕过一些常见的安全防护措施,需要的朋友可以参考下

Python模拟登陆网页的三种方法

一、利用Cookie实现登陆

1、先登陆后取网页中的Cookie加入到headers(标头),再用get方法获取网页内容

import requests

headers = {
    "Cookie": "你登陆后网页的Cookie"
}
url = 'https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919'
response = requests.get(url,headers=headers)
response.encoding = 'utf-8'
print(response.json())

2、获取Cookie的步骤

1)打开开发者模式(按下f12),进入网络(network),并输入登陆账号密码

在这里插入图片描述

2)找到相应的文件,查看“请求标头”

在这里插入图片描述

运行结果:

在这里插入图片描述

二、利用from data的数据提交账号密码

1、先登陆然后找到登陆响应页面的from data的数据(即账号密码)用post提交账号密码

import requests

session = requests.session()
url = "https://passport.17k.com/ck/user/login"

data = {
    "loginName":"你的账号",
    "password":"你的密码"
}
session.post(url,data=data)
resp = session.get("https://user.17k.com/ck/author/shelf?page=1&appKey=2406394919")
print(resp.json())

找到data的步骤:

1)进入17k.com然后点击书架,进入登陆页面,输入账号密码

在这里插入图片描述

2)登陆后注意网络(network)里面的login文件并点击,找到负载(或者往下拉找到 from data)

在这里插入图片描述

3)把你的账号密码copy到代码里面来

在这里插入图片描述

运行结果:

在这里插入图片描述

三、Selenium模拟登陆

注意事项:

1、下载chrome浏览器

2、下载对应版本的Chromedriver,不对应就会出bug

3、一定先查看需要操作的页面元素是否有一层iframe框架(可以在页面元素中ctrl+f输入iframe或frame搜索),不然找不到元素,操作不了。

4、XPath路径可以直接复制网页里面的

1、模拟人工输入账号、密码

from selenium import webdriver
import time
driver.get("https://user.17k.com/www/bookshelf/")
time.sleep(2)
#获取登陆模块的iframe
el_path = driver.find_element_by_xpath('/html/body/div[4]/div/div/iframe')
#进去该iframe
driver.switch_to.frame(el_path)
#进入成功后,输入账号密码以及勾选同意并点击登陆
driver.find_element_by_xpath('//dd[@class="user"]/input').send_keys('你的账号')
driver.find_element_by_xpath('//dd[@class="pass"]/input').send_keys('你的密码')
#勾选同意
driver.find_element_by_xpath('//*[@id="protocol"]').click()
#点击登陆
driver.find_element_by_xpath('//dd[@class="button"]/input').click()

在这里插入图片描述

四、其他链接

chromedriver下载链接

最后

到此这篇关于Python模拟登陆网页的三种方法小结的文章就介绍到这了,更多相关Python模拟登陆网页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python数据结构之面向对象

    python数据结构之面向对象

    这篇文章主要介绍了python数据结构之面向对象,在python数据结构的上一章节我们讲述了python的输入输出控制异常,希望大家重点掌握输出和控制,这些都是比较简单的啦,多看看就好了,接下来我们要讲的是python面向对象,需要的朋友可以参考一下
    2021-12-12
  • Pytest之测试命名规则的使用

    Pytest之测试命名规则的使用

    这篇文章主要介绍了Pytest之测试命名规则的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 浅析python中5个带key的内置函数

    浅析python中5个带key的内置函数

    这篇文章主要介绍了python中5个带key的内置函数,包括max取最大值函数,min取最小值函数,filter过滤函数,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Python创建多行字符串的多种方法

    Python创建多行字符串的多种方法

    在 Python 中,创建多行字符串是一个常见的需求,尤其是在处理配置文件、文档字符串、HTML 模板等场景中,Python 提供了多种方式来创建多行字符串,本文将给大家详细的介绍一下这些方法,需要的朋友可以参考下
    2024-11-11
  • python基于paramiko库远程执行 SSH 命令,实现 sftp 下载文件

    python基于paramiko库远程执行 SSH 命令,实现 sftp 下载文件

    这篇文章主要介绍了python基于paramiko库远程执行 SSH 命令,实现 sftp 下载文件的方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • Python实现partial改变方法默认参数

    Python实现partial改变方法默认参数

    这篇文章主要介绍了Python实现partial改变方法默认参数,需要的朋友可以参考下
    2014-08-08
  • Python简单格式化时间的方法【strftime函数】

    Python简单格式化时间的方法【strftime函数】

    这篇文章主要介绍了Python简单格式化时间的方法,结合实例形式分析了Python使用strftime函数进行时间格式化的操作技巧,需要的朋友可以参考下
    2016-09-09
  • python有证书的加密解密实现方法

    python有证书的加密解密实现方法

    这篇文章主要介绍了python有证书的加密解密实现方法,采用了M2Crypto组件进行相关的加密解密操作,包含了详细的完整实现过程,需要的朋友可以参考下
    2014-11-11
  • Python Django中间件使用原理及流程分析

    Python Django中间件使用原理及流程分析

    这篇文章主要介绍了Python Django中间件使用原理及流程分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • python读取和保存为excel、csv、txt文件及对DataFrame文件的基本操作指南

    python读取和保存为excel、csv、txt文件及对DataFrame文件的基本操作指南

    最近在做一个项目,必须把结果保存到excel文件中,下面这篇文章主要给大家介绍了关于python读取和保存为excel、csv、txt文件及对DataFrame文件的基本操作指南的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08

最新评论