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算法之栈(stack)的实现
Aug 18 Python
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
Oct 23 Python
Python方法的延迟加载的示例代码
Dec 18 Python
用Python一键搭建Http服务器的方法
Jun 01 Python
python set内置函数的具体使用
Jul 02 Python
Python的log日志功能及设置方法
Jul 11 Python
python 解决flask uwsgi 获取不到全局变量的问题
Dec 22 Python
python 实现字符串下标的输出功能
Feb 13 Python
python批量替换文件名中的共同字符实例
Mar 05 Python
Python如何输出整数
Jun 07 Python
keras.layer.input()用法说明
Jun 16 Python
Python字典dict常用方法函数实例
Nov 09 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实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
PHP 文件上传全攻略
2010/04/28 PHP
php中禁止单个IP与ip段访问的代码小结
2012/07/04 PHP
php实现遍历多维数组的方法
2015/11/25 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
jQuery 表单验证扩展(三)
2010/10/20 Javascript
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
jQuery中is()方法用法实例
2015/01/06 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
jQuery中noconflict函数的实现原理分解
2015/02/03 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
2016/03/23 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
2018/02/28 Javascript
JavaScript对象原型链原理解析
2020/01/22 Javascript
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
Vue自动构建发布脚本的方法示例
2020/07/24 Javascript
Python设计模式之代理模式实例
2014/04/26 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
python3注册全局热键的实现
2020/03/22 Python
对Matlab中共轭、转置和共轭装置的区别说明
2020/05/11 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
2020/09/16 Python
手对手的教你用canvas画一个简单的海报的方法示例
2018/12/10 HTML / CSS
公司司机岗位职责范本
2014/03/03 职场文书
文明生主要事迹
2014/05/25 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书
起诉书范文
2015/05/20 职场文书
2016情人节宣传语
2015/07/14 职场文书
2016年社区文体活动总结
2016/04/06 职场文书
导游词幽默开场白
2019/06/26 职场文书
Python Pandas数据分析之iloc和loc的用法详解
2021/11/11 Python