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 相关文章推荐
Python3基础之输入和输出实例分析
Aug 18 Python
Python使用Matplotlib实现Logos设计代码
Dec 25 Python
Python定义二叉树及4种遍历方法实例详解
Jul 05 Python
Python实现Dijkstra算法
Oct 17 Python
Python实现多进程的四种方式
Feb 22 Python
Python3利用print输出带颜色的彩色字体示例代码
Apr 08 Python
Python实现微信翻译机器人的方法
Aug 13 Python
详解Python中的分支和循环结构
Feb 11 Python
pycharm中import呈现灰色原因的解决方法
Mar 04 Python
用python查找统一局域网下ip对应的mac地址
Jan 13 Python
pytorch 一行代码查看网络参数总量的实现
May 12 Python
Python使用socket去实现TCP客户端和TCP服务端
Apr 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
解读PHP中的垃圾回收机制
2015/08/10 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
Yii2中datetime类的使用
2016/12/17 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
wordpress之js库集合研究介绍
2007/08/17 Javascript
js获取元素在浏览器中的绝对位置
2010/07/24 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
JS动态调用方法名示例介绍
2013/12/18 Javascript
解决jquery中美元符号命名冲突问题
2014/01/08 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
Jquery EasyUI $.Parser
2017/06/02 jQuery
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
python如何将两个txt文件内容合并
2019/10/18 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
PHP如何与mysql建立链接
2013/05/05 面试题
高二历史教学反思
2014/01/25 职场文书
大学校庆策划书
2014/01/31 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
幼儿园教师节活动总结
2015/03/23 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书
拿破仑传读书笔记
2015/07/01 职场文书
高三教师工作总结2015
2015/07/21 职场文书
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android