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模块学习 re 正则表达式
May 19 Python
python实现web方式logview的方法
Aug 10 Python
Unicode和Python的中文处理
Mar 19 Python
python中itertools模块zip_longest函数详解
Jun 12 Python
用Python抢火车票的简单小程序实现解析
Aug 14 Python
python ctypes库2_指定参数类型和返回类型详解
Nov 19 Python
详解用Python进行时间序列预测的7种方法
Mar 13 Python
Python延迟绑定问题原理及解决方案
Aug 04 Python
python爬虫多次请求超时的几种重试方法(6种)
Dec 01 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
Jan 21 Python
python - timeit 时间模块
Apr 06 Python
Python下opencv使用hough变换检测直线与圆
Jun 18 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 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
PHP设计模式 注册表模式
2012/02/05 PHP
php 解压rar文件及zip文件的方法
2014/05/05 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
js 获取页面高度和宽度兼容 ie firefox chrome等
2014/05/14 Javascript
让JavaScript中setTimeout支持链式操作的方法
2015/06/19 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
2016/03/23 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
js cookie实现记住密码功能
2017/01/17 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
JS实现简单表格排序操作示例
2017/10/07 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例
2020/02/11 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
详解python实现读取邮件数据并下载附件的实例
2017/08/03 Python
tf.truncated_normal与tf.random_normal的详细用法
2018/03/05 Python
对numpy中shape的深入理解
2018/06/15 Python
python TKinter获取文本框内容的方法
2018/10/11 Python
python学生信息管理系统(完整版)
2020/04/05 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
元旦晚会邀请函
2014/01/27 职场文书
期终自我鉴定
2014/02/17 职场文书
付款委托书范本
2014/10/05 职场文书
2014年关工委工作总结
2014/11/17 职场文书
教师党员承诺书2015
2015/01/21 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python
Nginx HTTP跳转至HTTPS
2022/05/15 Servers
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS