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中使用strip()方法删除字符串中空格的教程
May 20 Python
Python基础教程之tcp socket编程详解及简单实例
Feb 23 Python
pip matplotlib报错equired packages can not be built解决
Jan 06 Python
python实现百万答题自动百度搜索答案
Jan 16 Python
使用matplotlib画散点图的方法
May 25 Python
Python实现合并两个列表的方法分析
May 28 Python
详解python分布式进程
Oct 08 Python
python中for循环输出列表索引与对应的值方法
Nov 07 Python
详解django实现自定义manage命令的扩展
Aug 13 Python
浅析pandas 数据结构中的DataFrame
Oct 12 Python
Python 多线程之threading 模块的使用
Apr 14 Python
pytorch 梯度NAN异常值的解决方案
Jun 05 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中利用post传递字符串重定向的实现代码
2011/04/21 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
Laravel timestamps 设置为unix时间戳的方法
2019/10/11 PHP
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
jQuery阻止同类型事件小结
2013/04/19 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
2014/09/21 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
深入浅析JavaScript中数据共享和数据传递
2016/04/25 Javascript
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
2017/03/09 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
使用vux实现上拉刷新功能遇到的坑
2018/02/08 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
JQuery Ajax动态加载Table数据的实例讲解
2018/08/09 jQuery
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
Vue 中使用富文本编译器wangEditor3的方法
2019/09/26 Javascript
Vue中实现回车键切换焦点的方法
2020/02/19 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
好用的Python编辑器WingIDE的使用经验总结
2016/08/31 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
python常见字符串处理函数与用法汇总
2019/10/30 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
PHP如何与mysql建立链接
2013/05/05 面试题
大学同学聚会邀请函
2014/01/29 职场文书
教师现实表现材料
2014/02/14 职场文书
工作一年自我鉴定
2019/06/20 职场文书
python基于tkinter实现gif录屏功能
2021/05/19 Python
利用python进行数据加载
2021/06/20 Python
Django框架模板用法详解
2022/06/10 Python