Skip to content

Instantly share code, notes, and snippets.

@typenoob
Created February 11, 2022 05:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save typenoob/02574e0bd84216f9195254acbf53b808 to your computer and use it in GitHub Desktop.
Save typenoob/02574e0bd84216f9195254acbf53b808 to your computer and use it in GitHub Desktop.
爬取浙江理工大学学生信息
import requests
import csv
import time
grades = ['2019329600', '2019329621']
result = []
null = None
for grade in grades:
for spec in [str(num).zfill(3) for num in range(1000)]:
r = requests.get(
'http://fangyi.zstu.edu.cn:5004/api/DataSource/GetDataSourceByNo?sqlNo=JTDK_XS$%s' % (grade+spec))
temp = eval(r.text)['data']
if temp:
result.append(temp[0])
header = ['name', 'age'] # 数据列名
# test.csv表示如果在当前目录下没有此文件的话,则创建一个csv文件
# a表示以“追加”的形式写入,如果是“w”的话,表示在写入之前会清空原文件中的数据
# newline是数据之间不加空行
# encoding='utf-8'表示编码格式为utf-8,如果不希望在excel中打开csv文件出现中文乱码的话,将其去掉不写也行。
with open('2019.csv', 'a', newline='') as f:
writer = csv.DictWriter(f, fieldnames=list(
result[0].keys())) # 提前预览列名,当下面代码写入数据时,会将其一一对应。
writer.writeheader() # 写入列名
writer.writerows(result) # 写入数据
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment