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中的socket模块使用代理实例
May 29 Python
用python代码做configure文件
Jul 20 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
Aug 08 Python
详解用TensorFlow实现逻辑回归算法
May 02 Python
Python Numpy库安装与基本操作示例
Jan 08 Python
OpenCV图像颜色反转算法详解
May 13 Python
python中hasattr()、getattr()、setattr()函数的使用
Aug 16 Python
快速解决docker-py api版本不兼容的问题
Aug 30 Python
Python模块/包/库安装的六种方法及区别
Feb 24 Python
opencv 图像加法与图像融合的实现代码
Jul 08 Python
Python实现自动装机功能案例分析
Oct 22 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
Jan 12 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
PHP 第二节 数据类型之字符串类型
2012/04/28 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
JS 自定义函数缺省值的设置方法
2010/05/05 Javascript
jQuery 创建Dom元素
2010/05/07 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
浅谈Webpack下多环境配置的思路
2018/06/27 Javascript
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
解决vue下载后台传过来的乱码流的问题
2020/12/05 Vue.js
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python绘制七段数码管实例代码
2017/12/20 Python
基于anaconda下强大的conda命令介绍
2018/06/11 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
2018/10/22 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
2019/06/28 Python
Apache部署Django项目图文详解
2019/07/30 Python
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
数据库面试要点基本概念
2013/10/31 面试题
北大青鸟学生求职信
2013/09/24 职场文书
机械专业应届生求职信
2013/12/12 职场文书
财务部副经理岗位职责
2014/03/14 职场文书
《大江保卫战》教学反思
2014/04/11 职场文书
幼儿园运动会口号
2014/06/07 职场文书
本科毕业生求职信
2014/06/15 职场文书
授权委托书
2014/09/17 职场文书
《分数乘法》教学反思
2016/02/24 职场文书
python中%格式表达式实例用法
2021/06/18 Python