python 爬取学信网登录页面的例子


Posted in Python onAugust 13, 2019

我们以学信网为例爬取个人信息

**如果看不清楚

按照以下步骤:**

1.火狐为例 打开需要登录的网页?> F12 开发者模式 (鼠标右击,点击检查元素)?点击网络 ?>需要登录的页面登录下?> 点击网络找到 一个POST提交的链接点击?>找到post(注意该post中信息就是我们提交时需要构造的表单信息)

python 爬取学信网登录页面的例子

import requests
from bs4 import BeautifulSoup
from http import cookies
import urllib
import http.cookiejar

headers = {
  'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0',
  'Referer':'https://account.chsi.com.cn/passport/login?service=https://my.chsi.com.cn/archive/j_spring_cas_security_check',
}

session = requests.Session()
session.headers.update(headers)
username = 'xxx'
password = 'xxx'
url = 'https://account.chsi.com.cn/passport/login?service=https://my.chsi.com.cn/archive/j_spring_cas_security_check'
def login(username,password,lt,_eventId='submit'):   #模拟登入函数
  #构造表单数据
  data = { #需要传去的数据
      '_eventId':_eventId,
      'lt':lt,
      'password':password, 
      'submit':u'登录',
      'username':username, 
  }
  html = session.post(url,data=data,headers=headers)

def get_lt(url):    #解析登入界面_eventId
  html = session.get(url)
  #获取 lt
  soup = BeautifulSoup(html.text,'lxml',from_encoding="utf-8")
  lt=soup.find('input',type="hidden")['value']
  return lt

lt = get_lt(url)#获取登录form表单信息 以学信网为例
login(username,password,lt)
login_url = 'https://my.chsi.com.cn/archive/gdjy/xj/show.action'
per_html = session.get(login_url)
soup = BeautifulSoup(per_html.text,'lxml',from_encoding="utf-8")
print(soup)
for tag in soup.find_all('table',class_='mb-table'):
  print(tag)
  for tag1 in tag.find_all('td'):
    title= tag1.get_text(); 
    print(title)

以上这篇python 爬取学信网登录页面的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python查找第k小元素代码分享
Dec 18 Python
Python中的Numeric包和Numarray包使用教程
Apr 13 Python
python开发之字符串string操作方法实例详解
Nov 12 Python
利用python获取当前日期前后N天或N月日期的方法示例
Jul 30 Python
Python django框架应用中实现获取访问者ip地址示例
May 17 Python
python交易记录整合交易类详解
Jul 03 Python
对Pytorch神经网络初始化kaiming分布详解
Aug 18 Python
Python 依赖库太多了该如何管理
Nov 08 Python
Python如何基于smtplib发不同格式的邮件
Dec 30 Python
python3正则模块re的使用方法详解
Feb 11 Python
python有几个版本
Jun 17 Python
详解MindSpore自定义模型损失函数
Jun 30 Python
利用anaconda作为python的依赖库管理方法
Aug 13 #Python
基于Python的图像数据增强Data Augmentation解析
Aug 13 #Python
python通过txt文件批量安装依赖包的实现步骤
Aug 13 #Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
Aug 13 #Python
python如何将多个PDF进行合并
Aug 13 #Python
python批量读取文件名并写入txt文件中
Sep 05 #Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
Aug 13 #Python
You might like
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
php面向对象 字段的声明与使用
2012/06/14 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
php将12小时制转换成24小时制的方法
2015/03/31 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
PHP实现断点续传乱序合并文件的方法
2018/09/06 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
基于jquery的高性能td和input切换并可修改内容实现代码
2011/01/09 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
js实现具有高亮显示效果的多级菜单代码
2015/09/01 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
vue2.0 computed 计算list循环后累加值的实例
2018/03/07 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
Python基于numpy模块实现回归预测
2020/05/14 Python
keras的ImageDataGenerator和flow()的用法说明
2020/07/03 Python
艺术设计专业个人求职信范文
2013/12/11 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
老公给老婆的保证书
2014/04/28 职场文书
查摆剖析材料范文
2014/09/30 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
档案接收函格式
2015/01/30 职场文书
卫生主题班会
2015/08/14 职场文书
2016年清明节寄语
2015/12/04 职场文书
幼儿园小班教学反思
2016/03/03 职场文书
对PyTorch中inplace字段的全面理解
2021/05/22 Python
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库