高考网-爬取一分一段表

文章讲述了使用Python的requests库和json模块爬取2021年高考一分一段数据,并将其转化为CSV格式的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import requests
import json

year = 2021

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}

jsons = []

url = 'https://static-data.gaokao.cn/www/2.0/section2021/2023/34/1/3/lists.json'
method = "GET"
total = requests.get(url).text
total = json.loads(total)
total_list = total['data']['search']
#%%
total['data']['search']
#%%
# with open('yifenyiduan.json', 'w+') as json_file:
#     json.dump(total['data']['search'], json_file)
maping = total['data']['search']
#%%
li = []
for i in range(200,751):
    item = []
    item.append(str(i))
    item.append(maping[str(i)]['score'])
    item.append(maping[str(i)]['num'])
    item.append(maping[str(i)]['total'])
    item.append(maping[str(i)]['rank_range'])
    item.append(maping[str(i)]['batch_name'])
    item.append(maping[str(i)]['controlscore'])
    item.append(maping[str(i)]['appositive_fraction'][0]['year'])
    item.append(maping[str(i)]['appositive_fraction'][0]['score'])
    item.append(maping[str(i)]['appositive_fraction'][0]['rank_range'])
    item.append(maping[str(i)]['appositive_fraction'][1]['year'])
    item.append(maping[str(i)]['appositive_fraction'][1]['score'])
    item.append(maping[str(i)]['appositive_fraction'][1]['rank_range'])
    item.append(maping[str(i)]['appositive_fraction'][2]['year'])
    item.append(maping[str(i)]['appositive_fraction'][2]['score'])
    item.append(maping[str(i)]['appositive_fraction'][2]['rank_range'])
    li.append(item)
li
    
#%%
import pandas as pd
df = pd.DataFrame(li)
#%%
df
#%%
df.columns = ['index','score','number','rank','rank_range','batch_name','control_score','year','2022-score','2022-range',
              'year','2021-score','2021-range','year','2020-year','2020-range']
#%%
df
#%%
df.to_csv("yifenyiduan.csv",index = False)

可以实现爬取四年的一分一段数据并且保存为CSV文件​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值