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 socket C/S结构的聊天室应用实现
Nov 30 Python
Python中用于返回绝对值的abs()方法
May 14 Python
Pycharm学习教程(2) 代码风格
May 02 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
Sep 26 Python
tensorflow学习笔记之mnist的卷积神经网络实例
Apr 15 Python
Python unittest单元测试框架总结
Sep 08 Python
python多任务及返回值的处理方法
Jan 22 Python
python ---lambda匿名函数介绍
Mar 13 Python
Python2和Python3的共存和切换使用
Apr 12 Python
python tkinter图形界面代码统计工具(更新)
Sep 18 Python
Python SQLAlchemy入门教程(基本用法)
Nov 11 Python
python基础学习之生成器与文件系统知识总结
May 25 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
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
php pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
一步一步学习PHP(6) 面向对象
2010/02/16 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
2011/03/31 PHP
通达OA公共代码 php常用检测函数
2011/12/14 PHP
PHP面向对象精要总结
2014/11/07 PHP
php抽象类使用要点与注意事项分析
2015/02/09 PHP
PHP使用JSON和将json还原成数组
2015/02/12 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
avascript中的自执行匿名函数应用示例
2014/09/15 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
jquery.map()方法的使用详解
2015/07/09 Javascript
通过点击jqgrid表格弹出需要的表格数据
2015/12/02 Javascript
js简单判断移动端系统的方法
2016/02/25 Javascript
node.js express安装及示例网站搭建方法(分享)
2016/08/22 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
python+numpy实现的基本矩阵操作示例
2019/07/19 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
2019/10/14 Python
PyTorch加载自己的数据集实例详解
2020/03/18 Python
Python尾递归优化实现代码及原理详解
2020/10/09 Python
css3 transform属性详解
2014/09/30 HTML / CSS
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
实习求职信
2013/12/01 职场文书
同学聚会策划方案
2014/06/06 职场文书
党员干部批评与自我批评反四风思想汇报
2014/09/21 职场文书
开票员岗位职责
2015/02/12 职场文书
2015年班长个人工作总结
2015/04/03 职场文书
2016公司年会通知范文
2015/04/25 职场文书
怎样写观后感
2015/06/19 职场文书
2016年端午节校园广播稿
2015/12/18 职场文书
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL
MySQL约束超详解
2021/09/04 MySQL
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android