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代码(逐级优化)
May 25 Python
python使用多线程不断刷新网页的方法
Mar 31 Python
用Python制作简单的朴素基数估计器的教程
Apr 01 Python
Python单向链表和双向链表原理与用法实例详解
Aug 31 Python
Python数据类型之列表和元组的方法实例详解
Jul 08 Python
对Django项目中的ORM映射与模糊查询的使用详解
Jul 18 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
Dec 04 Python
Python使用graphviz画流程图过程解析
Mar 31 Python
Pytorch十九种损失函数的使用详解
Apr 29 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
Jun 05 Python
python对一个数向上取整的实例方法
Jun 18 Python
python OpenCV学习笔记
Mar 31 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下载远程文件的3种方法
2015/12/29 PHP
php实现数字补零的方法总结
2018/09/12 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
jQuery中delegate()方法用法实例
2015/01/19 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
AngularJS中controller控制器继承的使用方法
2017/11/03 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
[01:14]DOTA2 7.22版本新增神杖效果展示(智力英雄篇)
2019/05/29 DOTA
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
python写入中英文字符串到文件的方法
2015/05/06 Python
python自动发邮件库yagmail的示例代码
2018/02/23 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
python scatter函数用法实例详解
2020/02/11 Python
Jupyter加载文件的实现方法
2020/04/14 Python
详解Anaconda 的安装教程
2020/09/23 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
css3实现动画的三种方式
2020/08/24 HTML / CSS
html5开发之viewport使用
2013/10/17 HTML / CSS
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
康拓普公司Java笔面试
2016/09/23 面试题
软件工程专业推荐信
2013/10/28 职场文书
幼儿园教师国培感言
2014/02/02 职场文书
给校长的建议书100字
2014/05/16 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
文明单位创建材料
2014/12/24 职场文书
计算机考试作弊检讨书1000字
2015/01/01 职场文书
一年级语文下册复习计划
2015/01/17 职场文书
python实现简单的井字棋
2021/05/26 Python
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技
MySQL创建表操作命令分享
2022/03/25 MySQL