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 相关文章推荐
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 Python
Python 实现文件的全备份和差异备份详解
Dec 27 Python
Python实现小数转化为百分数的格式化输出方法示例
Sep 20 Python
Numpy截取指定范围内的数据方法
Nov 14 Python
Python字符串的全排列算法实例详解
Jan 07 Python
基于python的ini配置文件操作工具类
Apr 24 Python
python中的数组赋值与拷贝的区别详解
Nov 26 Python
python zip()函数的使用示例
Sep 23 Python
Python try except finally资源回收的实现
Jan 25 Python
Python使用pyenv实现多环境管理
Feb 05 Python
Python+Selenium实现读取网易邮箱验证码
Mar 13 Python
一行Python命令实现批量加水印
Apr 07 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使用Alexa API获取网站的Alexa排名例子
2014/06/12 PHP
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
PHP 断点续传实例详解
2017/11/11 PHP
Javascript var变量隐式声明方法
2009/10/19 Javascript
javascript 解析url的search方法
2010/02/09 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
2014/06/05 Javascript
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
js中split和replace的用法实例
2015/02/28 Javascript
JavaScript实现重置表单(reset)的方法
2015/04/02 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
让编辑器支持word复制黏贴、截屏的js代码
2016/10/17 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
JavaScript实现各种排序的代码详解
2017/08/28 Javascript
详解vue 单页应用(spa)前端路由实现原理
2018/04/04 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
Python实现文件按照日期命名的方法
2015/07/09 Python
详解python中的json和字典dict
2018/06/22 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
Tensorflow实现神经网络拟合线性回归
2019/07/19 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
python实现批量处理将图片粘贴到另一张图片上并保存
2019/12/12 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
Python页面加载的等待方式总结
2021/02/28 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
美国领先的在线邮轮旅游公司:CruiseDirect
2018/06/07 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
给护士表扬信
2014/01/19 职场文书
篮球比赛策划方案
2014/06/05 职场文书
电子商务实训报告总结
2014/11/05 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电