python 爬取吉首大学网站成绩单
作者:chen0495 发布时间:2023-08-02 05:57:13
标签:python,爬虫,吉首大学
项目地址:
https://github.com/chen0495/pythonCrawlerForJSU
环境
python 3.5即以上
request、BeautifulSoup、numpy、pandas.
安装BeautifulSoup使用命令pip install BeautifulSoup4
配置及使用
登陆学校成绩单查询网站,修改cookie.
按F12后按Ctrl+R刷新一下,获取cookie的方法见下图:
修改爬虫url为自己的成绩单网址.
运行src/main.py文件即可在/result下得到csv文件.
结果展示
完整代码
# -*- 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')
来源:https://github.com/chen0495/pythonCrawlerForJSU
0
投稿
猜你喜欢
- 编者按,网站中让人惊喜的往往是那一点细节,只要用心留意你将发现那些美好的用户体验就在身边。新蛋网想自主控制链接在原窗口还是新窗口中打开?看看
- Python中的闭包的概念, 在我看来, 就相当于在某个函数中又定义了一个或多个函数, 内层函数定义了具体的实现方式, 而外层返回的就是这个
- 本文实例讲述了javascript实现表格增删改操作的方法。分享给大家供大家参考。具体实现方法如下:<!DOCTYPE html PU
- 昨天美国雅虎正式宣布网站首页的新版,这也算互联网一件大事,尤其是对设计的朋友们。而且现在的美国雅虎的情况也不是很好的情况下有大刀阔斧的进行改
- MySQL多表join时报错如下:[Err]1267 – Illegal mix of collations(utf8_general_ci
- 这些天安装 PyTorch,遇到了一些坑,特此总结一下,以免忘记。分享给大家。首先,安装环境是:操作系统 Win10,已经预先暗转了 Ana
- 现在写一篇博客总是喜欢先谈需求或者本内容的应用场景,是的,如果写出来的东西没有任何应用价值,确实也没有实际意义。今天的最早的需求是来自于如何
- (高手就不要笑话了^_^)。好了,其他的不说现在就开始:select 子句主要决定了从表中取出的列名,列数以及列的显示顺序等信息,"
- 在处理数据的时候,经常会碰到CSV类型的文件,下面将介绍如何读取当前目录下的CSV文件,步骤如下1、获取当前目录所有的CSV文件名称:#创建
- 在知识库的建立的时候,用普通VARCHAR2存放文章是显然不够的,只有区区4000的字节,放不了多少字, 而CLOB数据类型,则能最多存放8
- 本文实例讲述了Python爬虫之pandas基本安装与使用方法。分享给大家供大家参考,具体如下:一、简介:Python Data Analy
- 一、为什么要安装虚拟环境 情景一、项目A需要某个库的1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境
- 想想你在一家公司里做表格,现在有一个下面这样的excel表摆在你面前,这是一个员工每个月工资的表,现在假设,你要做的事情,是填充好后面几个月
- 1、Function 函数编程中,需要重复写的功能,可以包装成一个函数1)定义函数定义函数之前,实现给一个字符串增加前缀和后缀的操作:f1
- 前言一个表和多个表进行关联,但具体随着业务的加深,表不断的增加,关联的数量不断的增加,怎么通过一开始通过表的设计后,不在后期在修改表,彻底的
- 两年前,我们开发了一套基于Flash的文件(主要是图片)上传RIA应用,提供给阿里巴巴的用户使用。如果你使用过Wordpress或flick
- 本文实例为大家分享了js实现放大镜效果的具体代码,供大家参考,具体内容如下该放大区域用背景图片放大<!DOCTYPE html>
- 前言玩博客一个多月了,渐渐发现了一些有意思的事,经常会有人用同样的评论到处刷,不知道是为了加没什么用的积分,还是纯粹为了表达楼主好人。那么问
- 前言本篇文章主要是记录一下在 GScript 中实现递归调用时所遇到的坑,类似的问题在中文互联网上我几乎没有找到相关的内容,所以还是很有必要
- MongoDB简介MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证