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中的pprint折腾记
Jan 21 Python
调试Python程序代码的几种方法总结
Apr 28 Python
Python新手们容易犯的几个错误总结
Apr 01 Python
深入理解python中函数传递参数是值传递还是引用传递
Nov 07 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
selenium+python实现自动登录脚本
Apr 22 Python
django之跨表查询及添加记录的示例代码
Oct 16 Python
python内存动态分配过程详解
Jul 15 Python
Python OpenCV图像指定区域裁剪的实现
Oct 30 Python
使用Django搭建一个基金模拟交易系统教程
Nov 18 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 Python
python 利用opencv实现图像网络传输
Nov 12 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
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
php中的时间处理
2006/10/09 PHP
PHP4引用文件语句的对比
2006/10/09 PHP
php简单提示框alert封装函数
2010/08/08 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
2011/04/20 PHP
php实现购物车功能(下)
2016/01/05 PHP
php实现学生管理系统
2020/03/21 PHP
基于JQuery的简单实现折叠菜单代码
2010/09/15 Javascript
jQuery EasyUI API 中文文档 - Form表单
2011/10/06 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
js给dropdownlist添加选项的小例子
2013/03/04 Javascript
Js注册协议倒计时的小例子
2013/06/24 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
2015/08/24 Javascript
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
2017/02/21 Javascript
JavaScript动态加载重复绑定问题
2018/04/01 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
vue全局自定义指令-元素拖拽的实现代码
2019/04/14 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
python常见的格式化输出小结
2016/12/15 Python
python使用生成器实现可迭代对象
2018/03/20 Python
基于MATLAB和Python实现MFCC特征参数提取
2019/08/13 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
python属于解释型语言么
2020/06/15 Python
django rest framework 自定义返回方式
2020/07/12 Python
python 利用zmail库发送邮件
2020/09/11 Python
介绍一下SQL Server的全文索引
2013/08/15 面试题
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
物流专业大学生求职信范文
2013/10/28 职场文书
军训心得体会范文(2016最新篇)
2016/01/11 职场文书