Python爬虫登录大学官网

  通过python登录大学官网(当然首先要有账号密码),内容包括:如何使用chrome查看网页信息和网络请求、分析网站通过js加密用户密码的方式、使用python登录网站。(不同官网的登录方式不尽相同,本文仅供参考)

目录

  • Python爬虫登录大学官网
    • 一、使用Chrome查看网页信息和网络请求
      • 1.1 Element功能模块
      • 1.2 Network功能模块
      • 1.3 Sources功能模块
    • 二、分析网站js加密方式
      • 2.1 查找加密函数并设置断点
      • 2.2 用错误密码调试找到所有js加密的代码
    • 三、使用python登录网站
    • 参考文献:

一、使用Chrome查看网页信息和网络请求

  首先打开所要解析的网站,点击F12(要打开Fn)或者右键->检查。本次主要用到Element、Source、Network三个功能。

1.1 Element功能模块

  点击Element可以查看网页html源码,点击ctrl+f可以在箭头处中查找源码中的匹配字符等。

1.2 Network功能模块

  点击Network可以查看网页与服务器端的交互信息,本文中主要用来查看发送的登录请求。
  headers中可查看请求头信息,payload中的From Data查看网页向服务器请求所提交的内容。可以看到请求内容中的password是经过了加密的(输入的测试用错误密码是1234)。

1.3 Sources功能模块

  查看网页的组成,包括css、js、image等。左边是网页的源码文件夹(右键可以查找匹配字符串),中间是所选文件的源码区(点击花括号可以格式化源码(pretty print)),右边是调试js代码时所用到的监控区。

二、分析网站js加密方式

2.1 查找加密函数并设置断点

  查找加密方式简单粗暴的方式就是直接在文件夹中查找“encrypt”(加密)。找到响应的函数,并点击该行js代码设置断点。

2.2 用错误密码调试找到所有js加密的代码

  设置完断点之后,输入错误密码,点击登录。程序会在断点处停止,右上角(或者左下角)控制调试区分别是继续运行、跳过下个函数、进入下个函数、跳出当前函数、逐步运行。通过call stack可以看到函数的调用次序。

  查看调用栈的函数,发现最顶层函数_etd2中参数就是输入的密码,另一个参数是pwdDefaultEncryptSalt(在html文件中查找字符串可以发现就在html中获取)。通过调用栈右侧可以看到加密用到的js文件。

  在这个js文件中查找etd2便可找到该函数的定义,在该函数中设置断点并继续运行。进入这个函数后逐步运行发现该函数返回值像是请求中的密码。记录这个返回值。

  点击继续运行,js代码运行完了,网页显示密码错误(因为输入的是错误的密码)。在network中查看login请求中的payload中的password值,发现与刚才的返回值相同,所以etd2就是用来加密的最顶层js函数。至此已经完全找到了加密的js代码,可以将加密所用的js文件保存下来,用python调用js代码(当然需要稍加修改,具体可以看渗透测试-python破解前端js加密
)etd2函数获取返回值。

三、使用python登录网站

  这部分暂时没写,我的,在参考文献里有如何使用python运行js并且通过session登录网页,有兴趣可以自己看看。

参考文献:

python3下使用requests实现模拟用户登录 —— 基础篇(马蜂窝)
python3下使用requests模拟用户登录 —— 中级篇(百度云俱乐部)
python版 —— 验证码校验 打码兔平台的使用介绍
一次完整的渗透测试流程
渗透测试-python破解前端js加密
获取请求中的It,dllt

Python爬虫登录大学官网相关推荐

  1. 超级简单的Python爬虫教程,python爬虫菜鸟教程官网

    毫无基础的人如何入门 Python ? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编 ...

  2. 用selenium模拟登录魅族官网(针对于点触点选验证码的识别)

    博主是爬虫菜鸡,对于验证码的识别这一块内容是十分的无力,最近按照崔庆才老师的<python3网络爬虫开发实战进行学习>,由于操作系统与老师的不同,技术更新快等多种因素,光是对老师书中的代码 ...

  3. 用python输出所有的玫瑰花数_用Python爬取WordPress官网所有插件

    转自丘壑博客,转载注明出处 前言 只要是用WordPress的人或多或少都会装几个插件,可以用来丰富扩展WordPress的各种功能.围绕WordPress平台的插件和主题已经建立了一个独特的经济生态 ...

  4. python爬虫登录12306失败_Python网络爬虫(selenium模拟登录12306网站)

    一.通过selenium自动登录12306官网 1.1 超级鹰打码平台API,创建chaojiyin.py文件 #!/usr/bin/env python#coding:utf-8 importreq ...

  5. python爬虫爬猎聘网获取多条职责描述中有Linux需求的招聘信息

    python爬虫爬猎聘网获取多条职责描述中有Linux需求的招聘信息 下列是我爬虫的作业 摘 要 随着现代化社会的飞速发展,网络上巨大信息量的获取给用户带来了许多的麻烦.由于工作和生活节奏的需求,人们 ...

  6. python 爬虫 微博 github_GitHub 热门:各大网站的 Python 爬虫登录汇总

    原标题:GitHub 热门:各大网站的 Python 爬虫登录汇总 (给数据分析与开发加星标,提升数据技能) 转自:机器之心,GitHub 作者:CriseLYJ 不论是自然语言处理还是计算机视觉,做 ...

  7. 【python】上传 Python 包到 pypi 官网

    一. 概述 在上一篇[爬虫]将 Scrapy 部署到 k8s文章中提到在自定义 spiderkeeper 镜像时报错,所以自己基于它的源码提交了一个叫做 spiderkeeper-new 的 pyth ...

  8. Python爬虫(6):煎蛋网全站妹子图爬虫

    Python爬虫(6):煎蛋网全站妹子图爬虫 上一篇文章中我们抓取了豆瓣图书的数据,如果大家运行成功,并且看到文件夹下的 txt 文件了.是不是有一种刚接触编程,第一次输出Hello world!时的 ...

  9. 在当当买了python怎么下载源代码-python爬虫爬取当当网

    [实例简介]python爬虫爬取当当网 [实例截图] [核心代码] ''' Function: 当当网图书爬虫 Author: Charles 微信公众号: Charles的皮卡丘 ''' impor ...

最新文章

  1. linux 唯一行数量,linux – 确定bash中具有awk或类似内容的唯一行数
  2. 市场营销部门OKR案例
  3. K3s初探:Rancher架构师带你尝鲜史上最轻量Kubernetes发行版
  4. 【听课笔记】2009 Google OpenSocial-CSDN开放平台交流会笔记
  5. 第四篇 HTML 表单深入了解、注释和a标签的运用
  6. Codeforces 1149 题解
  7. VUE向django发送post返回403:CSRF Failed: CSRF token missing or incorrect
  8. 剪切文件_lammps模拟带缺陷镍板剪切变形(in文件及注释)
  9. thief book怎么用_战略管理工具箱--30个好用的战略管理好工具
  10. LeetCode 683. K 个空花盆(set/滑动窗口)
  11. Kafka测试1.0.0
  12. Springboot整合RabbitMQ,包含direct,topic,fanout三种模式的整合
  13. 页面404?找不到页面咋整?
  14. ngix入门 Linux系统Ubuntu ngix安装
  15. excel概率密度函数公式_标准正态分布密度函数公式
  16. 开机就显示重启界面,Lenovo重装Win 10系统的解决办法之一
  17. 类似京东淘宝历史搜索自适应长度搜索项超两行折叠功能实现
  18. 这个社交聊天 App 开源了!
  19. 建模 渲染 计算机配置,设计师专用电脑 8000元i5-7500独显专业渲染建模电脑配置推荐...
  20. webrtc 入门第一章 基本设备操作

热门文章

  1. Mysql中当前日期(时间)函数总结
  2. ipynb转化py文件
  3. 基于亚像素的边缘检测方法
  4. 轨道运营管理专业自荐书_城市轨道应聘自荐信
  5. 微信自动回复功能实现
  6. SQL审核 | SQLE-SQL审核平台体验报告
  7. linux传不上去文件,linux下上传文件,文件上传不上去
  8. 基于复化梯度求积的求积步长自适应matlab实现
  9. 【简单3d网络游戏制作】——基于Unity
  10. MYSQL配置初始化