代码拉取完成,页面将自动刷新
import requests
import re
def getHtmlText(url):
try:
r = requests.get(url, timeout=30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
print("getHtmlText err")
def parsePage(ulist, html):
try:
ranking = re.findall(r'\"ranking\"\:\"[\d]*\"', html)
univNameCn = re.findall(r'\"univNameCn\"\:\".*?\"', html)
scores = re.findall(r'\"score\"\:[\d]*', html)
for i in range(30):
rank = eval(ranking[i].split(":")[1])
name = eval(univNameCn[i].split(":")[1])
score = eval(scores[i].split(":")[1])
ulist.append([rank, name, score])
except:
print("parsePage err")
def printGoodsList(ulist):
tplt = "{0:^10}{1:{3}^10}{2:^10}"
print(tplt.format("序号", "学校名称", "分数", chr(12288))) # 中文空格填充,能保证输出对齐
for i in range(len(ulist)):
u = ulist[i]
print(tplt.format(u[0], u[1], u[2], chr(12288)))
def main():
url = "https://www.shanghairanking.cn/api/pub/v1/bcur?bcur_type=11&year=2020"
ulist = []
html = getHtmlText(url)
parsePage(ulist, html)
printGoodsList(ulist)
main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。