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的垃圾回收机制深入分析
Jul 16 Python
Python基于pygame实现图片代替鼠标移动效果
Nov 11 Python
python实现发送和获取手机短信验证码
Jan 15 Python
Python使用爬虫猜密码
Feb 19 Python
itchat和matplotlib的结合使用爬取微信信息的实例
Aug 25 Python
Python使用matplotlib实现绘制自定义图形功能示例
Jan 18 Python
浅谈DataFrame和SparkSql取值误区
Jun 09 Python
一篇文章弄懂Python中所有数组数据类型
Jun 23 Python
django 自定义filter 判断if var in list的例子
Aug 20 Python
python匿名函数lambda原理及实例解析
Feb 07 Python
使用Python 自动生成 Word 文档的教程
Feb 13 Python
详解python tcp编程
Aug 24 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扩展函数
2006/10/09 PHP
针对初学PHP者的疑难问答(1)
2006/10/09 PHP
PHP 组件化编程技巧
2009/06/06 PHP
yii的CURD操作实例详解
2014/12/04 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
php socket通信(tcp/udp)实例分析
2016/02/14 PHP
php封装的smarty类完整实例
2016/10/19 PHP
事件模型在各浏览器中存在差异
2010/10/20 Javascript
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
2012/08/24 Javascript
JSON格式化输出
2014/11/10 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
js选项卡的制作方法
2017/01/23 Javascript
利用canvas实现的加载动画效果实例代码
2017/07/05 Javascript
React Native之TextInput组件解析示例
2017/08/22 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
python写入xml文件的方法
2015/05/08 Python
Python爬取京东的商品分类与链接
2016/08/26 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
Django中的用户身份验证示例详解
2019/08/07 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
上海方立数码笔试题
2013/10/18 面试题
房地产销售员的自我评价分享
2013/12/04 职场文书
毕业大学生自荐信
2014/06/17 职场文书
求职简历自荐信
2014/06/18 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
党的作风建设心得体会
2014/10/22 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
有关三国演义的读书笔记
2015/06/25 职场文书
关于环保的广播稿
2015/12/17 职场文书
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android
Python中的tkinter库简单案例详解
2022/01/22 Python