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使用PyFetion来发送短信的例子
Apr 22 Python
pip 错误unused-command-line-argument-hard-error-in-future解决办法
Jun 01 Python
Python实现网络端口转发和重定向的方法
Sep 19 Python
python win32 简单操作方法
May 25 Python
python读文件保存到字典,修改字典并写入新文件的实例
Apr 23 Python
将tensorflow的ckpt模型存储为npy的实例
Jul 09 Python
selenium+python环境配置教程详解
May 28 Python
Python生态圈图像格式转换问题(推荐)
Dec 02 Python
关于Pytorch的MLP模块实现方式
Jan 07 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
Mar 08 Python
解决Keras 中加入lambda层无法正常载入模型问题
Jun 16 Python
Python+pyftpdlib实现局域网文件互传
Aug 24 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 无限级 SelectTree 类
2009/05/19 PHP
供参考的 php 学习提高路线分享
2011/10/23 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
2012/09/30 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
JS中递归函数
2016/06/17 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
分享19个JavaScript 有用的简写写法
2017/07/07 Javascript
详解如何将 Vue-cli 改造成支持多页面的 history 模式
2017/11/20 Javascript
页面点击小红心js实现代码
2018/05/26 Javascript
在微信小程序中使用vant的方法
2019/06/07 Javascript
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
python实现logistic分类算法代码
2020/02/28 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
25道Java面试题集合
2013/05/21 面试题
幼儿园园长自我鉴定
2013/10/22 职场文书
四年的个人工作自我评价
2013/12/10 职场文书
手机业务员岗位职责
2013/12/13 职场文书
产品质量承诺书
2014/03/27 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
大学生就业求职信
2014/06/12 职场文书
大学学生会辞职信
2015/05/13 职场文书
浅谈python数据类型及其操作
2021/05/25 Python
Redis实战高并发之扣减库存项目
2022/04/14 Redis