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实现检测服务器是否可以ping通的2种方法
Jan 01 Python
Python实现读取并保存文件的类
May 11 Python
Python输出各行命令详解
Feb 01 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
Dec 04 Python
Python 多维List创建的问题小结
Jan 18 Python
Django实现学生管理系统
Feb 26 Python
python3+django2开发一个简单的人员管理系统过程详解
Jul 23 Python
Python中 CSV格式清洗与转换的实例代码
Aug 29 Python
Python 获取指定文件夹下的目录和文件的实现
Aug 30 Python
Python多进程multiprocessing、进程池用法实例分析
Mar 24 Python
Python接口测试结果集实现封装比较
May 01 Python
pycharm进入时每次都是insert模式的解决方式
Feb 05 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
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
PHP中对缓冲区的控制实现代码
2013/09/29 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
thinkphp文件引用与分支结构用法实例
2014/11/26 PHP
PHP简单实现断点续传下载的方法
2015/09/25 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
2016/07/07 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
设定php简写功能的方法
2019/11/28 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
jquery 查找新建元素代码
2010/07/06 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
2019/01/09 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
python读取html中指定元素生成excle文件示例
2014/04/03 Python
python uuid模块使用实例
2015/04/08 Python
Python实现快速计算词频功能示例
2018/06/25 Python
python 字典的打印实现
2019/09/26 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
html5中为audio标签增加停止按钮动作实现方法
2013/01/04 HTML / CSS
施华洛世奇水晶荷兰官方网站:SWAROVSKI荷兰
2017/05/12 全球购物
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
公司JAVA开发面试题
2015/04/02 面试题
工厂仓管员岗位职责
2014/01/01 职场文书
大学生活动策划方案
2014/02/10 职场文书
关于责任的演讲稿
2014/05/20 职场文书
人事专员岗位说明书
2014/07/29 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
志愿者爱心公益活动策划方案
2014/09/15 职场文书
导游词幽默开场白
2019/06/26 职场文书