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制作在地图上模拟瘟疫扩散的Gif图
Mar 31 Python
Python使用gensim计算文档相似性
Apr 10 Python
python安装Scrapy图文教程
Aug 14 Python
解决tensorflow模型参数保存和加载的问题
Jul 26 Python
Python小进度条显示代码
Mar 05 Python
详解【python】str与json类型转换
Apr 29 Python
python实现图片转字符小工具
Apr 30 Python
python设置环境变量的原因和方法
Jun 24 Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
pytorch常见的Tensor类型详解
Jan 15 Python
详解Pycharm第三方库的安装及使用方法
Dec 29 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
解析CodeIgniter自定义配置文件
2013/06/18 PHP
php强制更新图片缓存的方法
2015/02/11 PHP
PHP面向对象之后期静态绑定功能介绍
2015/05/18 PHP
PHP实现QQ空间自动回复说说的方法
2015/12/02 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
thinkphp项目如何自定义微信分享描述内容
2017/02/20 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
PHP count()函数讲解
2019/02/03 PHP
Js 本页面传值实现代码
2009/05/17 Javascript
基于jQuery架构javascript基础体系
2011/01/01 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
2016/04/26 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
JavaScript之filter_动力节点Java学院整理
2017/06/28 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
JS数组实现分类统计实例代码
2018/09/30 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
使用python实现tcp自动重连
2017/07/02 Python
Python3 实现随机生成一组不重复数并按行写入文件
2018/04/09 Python
python实现朴素贝叶斯算法
2018/11/19 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
JAKO-O德国野酷台湾站:德国首屈一指的婴幼童用品品牌
2019/01/14 全球购物
综合内勤岗位职责
2014/04/14 职场文书
本科应届生自荐信
2014/06/29 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书
Pygame如何使用精灵和碰撞检测
2021/11/17 Python