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处理图片之PIL模块简单使用方法
May 11 Python
Python学习教程之常用的内置函数大全
Jul 14 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
Jan 18 Python
python 用lambda函数替换for循环的方法
Jun 09 Python
python 读写文件,按行修改文件的方法
Jul 12 Python
浅谈Python的方法解析顺序(MRO)
Mar 05 Python
安装多个版本的TensorFlow的方法步骤
Apr 21 Python
解决pycharm安装第三方库失败的问题
May 09 Python
基于python 将列表作为参数传入函数时的测试与理解
Jun 05 Python
解析python 中/ 和 % 和 //(地板除)
Jun 28 Python
Python3如何在服务器打印资产信息
Aug 27 Python
python的setattr函数实例用法
Dec 16 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
DedeCMS dede_channeltype表字段注释
2010/04/07 PHP
PHP中的多行字符串传递给JavaScript的两种方法
2014/06/19 PHP
php中filter_input函数用法分析
2014/11/15 PHP
[原创]PHP字符串中插入子字符串方法总结
2016/05/06 PHP
JavaScript入门教程(12) js对象化编程
2009/01/31 Javascript
js 字符串转化成数字的代码
2011/06/29 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
使用JavaScript判断图片是否加载完成的三种实现方式
2014/05/04 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
最棒的Angular2表格控件
2016/08/10 Javascript
深入分析node.js的异步API和其局限性
2016/09/05 Javascript
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
用Vue.js实现监听属性的变化
2016/11/17 Javascript
Angularjs的$http异步删除数据详解及实例
2017/07/27 Javascript
laravel5.3 vue 实现收藏夹功能实例详解
2018/01/21 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
2019/06/10 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
Vue.js中的高级面试题及答案
2020/01/13 Javascript
python生成随机验证码(中文验证码)示例
2014/04/03 Python
用Python进行行为驱动开发的入门教程
2015/04/23 Python
python创建和删除目录的方法
2015/04/29 Python
python生成excel的实例代码
2017/11/08 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
Python django框架开发发布会签到系统(web开发)
2020/02/12 Python
python如何实现图片压缩
2020/09/11 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
环境科学专业个人求职信
2013/09/26 职场文书
食品药品安全责任书
2015/05/11 职场文书
致青春观后感
2015/06/09 职场文书
部门主管竞聘书
2015/09/15 职场文书
JS轻量级函数式编程实现XDM二
2022/06/16 Javascript