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文件