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网络编程详解
Oct 31 Python
Python及PyCharm下载与安装教程
Nov 18 Python
利用Python yagmail三行代码实现发送邮件
May 11 Python
Python系统监控模块psutil功能与经典用法分析
May 24 Python
深入理解Django自定义信号(signals)
Oct 15 Python
用python代码将tiff图片存储到jpg的方法
Dec 04 Python
Python 获取div标签中的文字实例
Dec 20 Python
搞清楚 Python traceback的具体使用方法
May 13 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
Feb 25 Python
在python中利用dict转json按输入顺序输出内容方式
Feb 27 Python
浅谈对python中if、elif、else的误解
Aug 20 Python
Pycharm如何自动生成头文件注释
Nov 14 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
深入for,while,foreach遍历时间比较的详解
2013/06/08 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
2014/08/21 PHP
JS的数组的扩展实例代码
2008/07/09 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
Extjs407 getValue()和getRawValue()区别介绍
2013/05/21 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
使用Node.js实现一个简单的FastCGI服务器实例
2014/06/09 Javascript
javascript图片滑动效果实现
2021/01/28 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
网页挂马方式整理及详细介绍
2016/11/03 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
详解使用vue-admin-template的优化历程
2018/05/20 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
详解Vue之父子组件传值
2019/04/01 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
p5.js码绘“跳动的小正方形”的实现代码
2019/10/22 Javascript
js实现div色块拖动录制
2020/01/16 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
pydev使用wxpython找不到路径的解决方法
2013/02/10 Python
对python模块中多个类的用法详解
2019/01/10 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
python requests.get带header
2020/05/05 Python
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
2013/06/06 HTML / CSS
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
民族团结先进个人材料
2014/02/05 职场文书
博士毕业生自我鉴定范文
2014/04/13 职场文书
小学教师师德师风个人整改措施
2014/09/18 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
离婚上诉状范文
2015/05/23 职场文书
讲座新闻稿
2015/07/18 职场文书
Python中super().__init__()测试以及理解
2021/12/06 Python