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 08 Python
Python计算回文数的方法
Mar 11 Python
Python进行数据科学工作的简单入门教程
Apr 01 Python
仅用50行代码实现一个Python编写的计算器的教程
Apr 17 Python
Python实现注册登录系统
Aug 08 Python
解决Spyder中图片显示太小的问题
Apr 27 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
Jan 15 Python
Python一个简单的通信程序(客户端 服务器)
Mar 06 Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
Apr 08 Python
python基于exchange函数发送邮件过程详解
Nov 06 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
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
把77A收信机改造成收音机
2021/03/02 无线电
Search Engine Friendly的URL设计
2006/10/09 PHP
PHP 日常开发小技巧
2009/09/23 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
jquery中防刷IP流量软件影响统计的一点对策
2011/07/10 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
js动画效果制件让图片组成动画代码分享
2014/01/14 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
jQuery实现“扫码阅读”功能
2015/01/21 Javascript
jQuery原生的动画效果
2015/07/10 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
JavaScript中的原型继承基础学习教程
2016/05/06 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
JavaScript之underscore_动力节点Java学院整理
2017/07/03 Javascript
vue脚手架中配置Sass的方法
2018/01/04 Javascript
vue 中的keep-alive实例代码
2018/07/20 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
[01:07:15]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第二场 1月25日
2021/03/11 DOTA
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
python Tornado框架的使用示例
2020/10/19 Python
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
酒店节能降耗方案
2014/05/08 职场文书
五年级学生评语大全
2014/12/26 职场文书
创先争优个人总结
2015/03/04 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
学前班教学反思
2016/02/24 职场文书