import csv
import requests
from lxml import etree
def htmls(url,headers):
html_oil=requests.get(url=url,headers=headers).text#用requests方法拿到源代码
return html_oil
#解析2022年全国硕士研究生招生考试考生进入复试的初试成绩基本要求(学术学位类)数据
def getinfo(html_oil):
source=etree.HTML(html_oil)#将传进去的源代码转变成_Element对象
alls = source.xpath('//table[@class="table01"]/tbody')[0] # 获取所需数据总节点
title = source.xpath('/html/body/div[1]/div[2]/div[3]/h2/span/text()')[0]#获取标题
alls1 = alls.xpath('./tr') # 获取所需数据所有节点
datas = [] # 建立一个列表存储所有数据
data = alls1[2].xpath('./td/text()')#获取数据节点
datas.append(data[:7])#去除多余的值
for i in range(3, len(alls1)):
data = alls1[i].xpath('./td/text()') # 遍历所有节点并获得数据
datas.append(data) # 将数据存入datas列表
print(datas)#打印结果
return datas,title
# 2022年全国硕士研究生招生考试考生进入复试的初试成绩基本要求(专业学位类)数据
def getinfo1(html_oil):
source = etree.HTML(html_oil)#将传进去的源代码转变成_Element对象
alls = source.xpath('//table[@class="table01"]/tbody')[0] # 获取所需数据总节点
title1 = source.xpath('/html/body/div[1]/div[2]/div[3]/h2/span/text()')[0]#获取标题
alls1 = alls.xpath('./tr') # 获取所需数据所有节点
datas1 = [] # 建立一个列表存储所有数据
data = alls1[2].xpath('./td/text()')#获取数据节点
datas1.append(data[:7])#去除多余的值
for i in range(3, len(alls1)):
data = alls1[i].xpath('./td/text()') # 遍历所有节点并获得数据
if len(data)>7:
data=data[2:]#去除空值
datas1.append(data) # 将数据存入datas1列表
else:
datas1.append(data) # 将数据存入datas1列表
print(datas1)#打印结果
return datas1, title1
# 存储为csv
def saveinfo(datas,title,header):
with open('static/{}.csv'.format(title), 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f) # 打开csv文件
writer.writerow(header)#写入标题
writer.writerows(datas) # 写入数据
if __name__ == '__main__':
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36 Edg/101.0.1210.53'
}#UA伪装
urls ='https://yz.chsi.com.cn/kyzx/kp/202203/20220311/2172246782.html'#网址
html_oil=htmls(url=urls,headers=header)#获取源代码
datas,title=getinfo(html_oil)#解析数据
headerbt = ['学科门类(专业)名称', '总分(A类考生)', 'A类考生单科(满分=100分)', 'A类考生单科(满分>100分)', '总分(B类考生)', 'B类考生单科(满分=100分)', 'B类考生单科(满分>100分)']#设置标题
saveinfo(datas=datas,title=title,header=headerbt)#存储数据
urls1 = 'https://yz.chsi.com.cn/kyzx/kp/202203/20220311/2172246781.html'#网址
html_oil1 = htmls(url=urls1, headers=header)#获取源代码
datas1,title1=getinfo1(html_oil1)#解析数据
headerbt1 = ['学科门类(专业)名称', '总分(A类考生)', 'A类考生单科(满分=100分)', 'A类考生单科(满分>100分)', '总分(B类考生)', 'B类考生单科(满分=100分)', 'B类考生单科(满分>100分)']#设置标题
saveinfo(datas=datas1,title=title1,header=headerbt1)#存储数据
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
考研数据可视化.zip (39个子文件)
阶段测试
爬取计算机软件与理论开设院校数据.py 2KB
专业学位(聚合柱状图).py 793B
.project 975B
学术学位(正负柱状图).py 793B
雷达图.py 915B
static
js
dark.js 4KB
echarts.min.js 952KB
wonderland.js 11KB
westeros.js 11KB
echarts-wordcloud.js 504KB
macarons.js 5KB
china.js 61KB
echarts.js 2.76MB
vintage.js 1022B
data
2019-2021年湖南大学硕士研究生各专业报录比.csv 2KB
湖南研究生招生单位.csv 439B
院校发布调剂信息.csv 57KB
计算机软件与理论)开设院校.csv 500B
2022年全国硕士研究生招生考试考生进入复试的初试成绩基本要求(学术学位类).csv 718B
2022年全国硕士研究生招生考试考生进入复试的初试成绩基本要求(专业学位类).csv 1KB
各院校调剂信息(中国地图).py 450B
爬取专业学位类.py 4KB
爬取院校发布调剂信息数据.py 3KB
堆叠折线图.py 2KB
考研调剂发布时间对应的分布频次.py 720B
词云图.py 691B
爬取湖南大学考研报录比数据.py 2KB
爬取湖南研究生招生单位数据.py 2KB
玫瑰饼图项目三.py 697B
大屏.py 3KB
templates
玫瑰饼图项目三.html 1KB
词云图.html 922B
大图展示.html 10KB
学术学位.html 3KB
专业学位.html 2KB
考研调剂时间.html 2KB
调剂信息.html 1KB
雷达报录比.html 918B
堆叠折线图.html 2KB
共 39 条
- 1
python1-1
- 粉丝: 776
- 资源: 1
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页