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下载Bing图片(代码)
Nov 07 Python
详细探究Python中的字典容器
Apr 14 Python
PYTHON压平嵌套列表的简单实现
Jun 08 Python
python的unittest测试类代码实例
Dec 07 Python
Python Pandas找到缺失值的位置方法
Apr 12 Python
python 读文件,然后转化为矩阵的实例
Apr 23 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
Apr 27 Python
opencv调整图像亮度对比度的示例代码
Sep 27 Python
Python切图九宫格的实现方法
Oct 10 Python
Python中Flask-RESTful编写API接口(小白入门)
Dec 11 Python
Python GUI库PyQt5图形和特效样式QSS介绍
Feb 25 Python
Python find()、rfind()方法及作用
Dec 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面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
PHP如何实现订单的延时处理详解
2017/12/30 PHP
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
js中typeof的用法汇总
2013/12/12 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
js星星评分效果
2014/07/24 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
javascript系统时间设置操作示例
2019/06/17 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
Python实现Linux中的du命令
2017/06/12 Python
Python实现的科学计算器功能示例
2017/08/04 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
PyQt5每天必学之组合框
2018/04/20 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
python获取点击的坐标画图形的方法
2019/07/09 Python
YUV转为jpg图像的实现
2019/12/09 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
护理专业的自荐信
2013/10/22 职场文书
打架检讨书400字
2014/01/17 职场文书
《藏戏》教学反思
2014/02/11 职场文书
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技