python 爬取吉首大学网站成绩单


Posted in Python onJune 02, 2021

项目地址:

https://github.com/chen0495/pythonCrawlerForJSU

环境

  • python 3.5即以上
  • request、BeautifulSoup、numpy、pandas.
  • 安装BeautifulSoup使用命令pip install BeautifulSoup4

配置及使用

登陆学校成绩单查询网站,修改cookie.

python 爬取吉首大学网站成绩单

按F12后按Ctrl+R刷新一下,获取cookie的方法见下图:

python 爬取吉首大学网站成绩单

修改爬虫url为自己的成绩单网址.

python 爬取吉首大学网站成绩单

运行src/main.py文件即可在/result下得到csv文件.

结果展示

python 爬取吉首大学网站成绩单

完整代码

# -*- coding: utf-8 -*-
# @Time    : 5/29/2021 2:13 PM
# @Author  : Chen0495
# @Email   : 1346565673@qq.com|chenweiin612@gmail.com
# @File    : main.py
# @Software: PyCharm

import requests as rq
from bs4 import BeautifulSoup as BS
import numpy as np
import pandas as pd

rq.adapters.DEFAULT_RETRIES = 5
s = rq.session()
s.keep_alive = False # 关闭多余连接

header = { # 请更改cookie
    'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4501.0 Safari/537.36 Edg/92.0.891.1',
    'cookie' : 'wengine_vpn_ticketwebvpn_jsu_edu_cn=xxxxxxxxxx; show_vpn=1; refresh=1'
}

# 请更改url
r = rq.get('https://webvpn.jsu.edu.cn/https/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/jsxsd/kscj/cjcx_list', headers = header, verify=False)

soup = BS(r.text,'html.parser')

head = []
for th in soup.find_all("th"):
    head.append(th.text)
while '' in head:
    head.remove('')
head.remove('序号')
context = np.array(head)


x = []
flag = 0
for td in soup.find_all("td"):
    if flag!=0 and flag%11!=1:
        x.append(td.text)
    if flag%11==0 and flag!=0:
        context = np.row_stack((context,np.array(x)))
        x.clear()
    flag+=1

context = np.delete(context,0,axis=0)
data = pd.DataFrame(context,columns=head)
print(data)

# 生成文件,亲更改文件名
data.to_csv('../result/result.csv',encoding='utf-8-sig')

以上就是python 爬取吉首大学成绩单的详细内容,更多关于python 爬取成绩单的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python复制与引用用法分析
Apr 08 Python
Python3实现Web网页图片下载
Jan 28 Python
Python实现将SQLite中的数据直接输出为CVS的方法示例
Jul 13 Python
Python金融数据可视化汇总
Nov 17 Python
Python GUI布局尺寸适配方法
Oct 11 Python
详解pandas的外部数据导入与常用方法
May 01 Python
我们为什么要减少Python中循环的使用
Jul 10 Python
django 邮件发送模块smtp使用详解
Jul 22 Python
django项目中使用手机号登录的实例代码
Aug 15 Python
Python坐标线性插值应用实现
Nov 13 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
Feb 11 Python
python办公自动化之excel的操作
May 23 Python
python 批量压缩图片的脚本
Jun 02 #Python
python操作xlsx格式文件并读取
关于Numpy之repeat、tile的用法总结
Jun 02 #Python
Matlab如何实现矩阵复制扩充
Jun 02 #Python
给numpy.array增加维度的超简单方法
Jun 02 #Python
pytorch model.cuda()花费时间很长的解决
如何理解及使用Python闭包
You might like
国产PHP开发框架myqee新手快速入门教程
2014/07/14 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
jQuery实现商品活动倒计时
2015/10/16 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
Javascript使用SWFUpload进行多文件上传
2016/11/16 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
2017/06/28 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
深入理解vuex2.0 之 modules
2017/11/20 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
如何通过setTimeout理解JS运行机制详解
2019/03/23 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
2019/03/27 Javascript
vuejs+element UI table表格中实现禁用部分复选框的方法
2019/09/20 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
Python中你应该知道的一些内置函数
2017/03/31 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
python实现超市商品销售管理系统
2019/11/22 Python
浅谈keras中的目标函数和优化函数MSE用法
2020/06/10 Python
python 读取.nii格式图像实例
2020/07/01 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
优秀毕业生自我鉴定
2014/02/11 职场文书
校长寄语大全
2014/04/09 职场文书
委托书的样本
2015/01/28 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python
go语言中json数据的读取和写出操作
2021/04/28 Golang
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL