python 大学排行网站全部排行数据

2023-11-08

RANKINGS_CRAWLER

中国大学排名,中国两岸四地排名,全球体育类院系大学排行,世界大学学术排名

中国最好学科排名,中国大学专业排名,世界一流学科排名(每个专业学科排行都有)

(方法跟实际代码有变动)

方法一:

获取中国大学排名,中国两岸四地排名,全球体育类院系大学排行,世界大学学术排名
1)使用headers,coohie模拟浏览器并登陆
2)通过get_payload_js(url)获取对应的payload_js(数据存储在这个包里面)
3)使用get_params()获取网页内容中参数的映射关系
4)使用re.findall()正则匹配所有相关数据,使用循环通过get_data()及正则匹配方式将排名的每一个大学数据各自存在字典里面,最后通过.to.csv()写入文件里面 

方法二:

获取中国最好学科排名,中国大学专业排名,世界一流学科排名,
1)使用headers,coohie模拟浏览器并登陆
2)通过requests.get()获取网页内容并返回保存为一个Response对象
3)使用get_params()获取网页内容中参数的映射关系
4)使用re.findall()正则匹配所有相关数据,使用循环通过get_data()及正则匹配方式获取对应学科或专业的编码及名字存为字典形式

5)通过resp.json()获取网页内容返回json格式,并将各个学校信息循环写入字典里,最后通过.to.csv()写入文件里面 

完整项目链接:基于python 的爬虫及flask框架web大屏交互式可视化

https://download.csdn.net/download/weixin_66397563/87651644?spm=1001.2014.3001.5503

注意: 本文以学习技术为主,不可以用于非法行为, 如有侵权请联系删除

import requests
import re
import os
import pandas as pd

cookie = '''Hm_lvt_af1fda4748dacbd3ee2e3a69c3496570=1656413001,1656428399,1656458742,1656466843; TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTY0ODU5OTMsImp0aSI6IjI3MzA0NSIsImlzcyI6IjE1MCoqKio0NTcyIn0.S6wbuYOwHzcV-VTkCB3MNxy7L5t1mpWJVv-NCsXzJn0; Hm_lpvt_af1fda4748dacbd3ee2e3a69c3496570=1656470377'''
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.7 Safari/537.36',

    'Cookie': cookie}
# 防反爬虫,模拟浏览器

b1 = "data/软科排行/"
if not os.path.exists(b1) or not os.path.isdir(b1):
    os.makedirs(b1)

s1 = os.path.join(b1, "中国大学排名/")
if not os.path.exists(s1):
    os.makedirs(s1)

s2 = os.path.join(b1, "中国最好学科排名/")
if not os.path.exists(s2):
    os.makedirs(s2)

s3 = os.path.join(b1, "中国大学专业排名/")
if not os.path.exists(s3):
    os.makedirs(s3)

s4 = os.path.join(b1, "世界大学学术排名/")
if not os.path.exists(s4):
    os.makedirs(s4)

s5 = os.path.join(b1, "世界一流学科排名/")
if not os.path.exists(s5):
    os.makedirs(s5)

s6 = os.path.join(b1, "中国两岸四地大学排名/")
if not os.path.exists(s6):
    os.makedirs(s6)

s7 = os.path.join(b1, "全球体育类院系学术排名/")
if not os.path.exists(s7):
    os.makedirs(s7)


def get_payload_js(url):
    # 每个url的 payload.js 是不一样的通过这个函数获取,返回对应数据

    resp = requests.get(url, headers=headers)
    if resp.status_code == 404:
        return None
    # 状态值为404,获取失败,榜单不存在的情况
    # 正则匹配payload.js
    payload_href = re.findall(r'/_nuxt/static/(.*?)/payload\.js"', resp.text, re.S)
    payload_href = payload_href[0]
    js_url = "https://www.shanghairanking.cn/_nuxt/static/{}/payload.js".format(payload_href)
    resp2 = requests.get(js_url, headers=headers)
    html = resp2.text
    return html


def get_num(s):
    s = s.split("-")[0]
    return int(s)


# 对字符串进行分割并返回一个列表


def get_bcur_data(year):
    # 获取中国大学排名
    # https://www.shanghairanking.cn/_nuxt/static/1655530991/rankings/bcur/201511/payload.js
    url = f"https://www.shanghairanking.cn/api/pub/v1/bcur?bcur_type=11&year={year}"
    resp = requests.get(url, headers=headers)
    if resp.status_code == 404:
        return None
    data = resp.json()

    if year in [2022, 2021, 2020]:
        k = "办学层次"
    else:
        k = "生源质量"
    items = {
        "排名": [],
        "学校名称": [],
        "省市": [],
        "类型": [],
        "总分": [],
        k: [],
    }
    for i in data['data']['rankings']:
        items['排名'].append(i['ranking'])
        items['学校名称'].append(i['univNameCn'])
        items['省市'].append(i['province'])
        items['类型'].append(i['univCategory'])
        items['总分'].append(i['score'])
        if year == 2015:
            items[k].append(i['indData']['1'])
        if year == 2016:
            items[k].append(i['indData']['10'])
        if year == 2017:
            items[k].append(i['indData']['19'])
        if year == 2018:
            items[k].append(i['indData']['28'])
        if year == 2019:
            items[k].append(i['indData']['38'])
        if year == 2020:
            items[k].append(i['indData']['59'])
        if year == 2021:
            items[k].append(i['indData']['159'])
        if year == 2022:
            items[k].append(i['indData']['271'])
    return items


def get_rtugc_data(year):
    # 中国两岸四地大学排名
    url = "https://www.shanghairanking.cn/rankings/rtugc/{}".format(year)
    payload_js = get_payload_js(url)
    if not payload_js:
        return None
    params = get_params(payload_js)
    data = re.findall(r'\{ranking(.*?)\},', payload_js, re.S)
    items = {
        "排名": [],
        "学校名称": [],
        "国家/地区": [],
        "总分": [],
        "研究生比例": [],
    }
    for i, _ in enumerate(data):
        _ = "ranking" + _

        rank = get_data(_, r'ranking\:(.*?)\,', params)
        univNameCn = get_data(_, r'univNameCn\:(.*?)\,', params)
        score = get_data(_, r'score\:(.*?)\,', params)
        region = get_data(_, r'region\:(.*?)\,', params)
        indData = get_data(_, r'data\:\{\"(.*?)\"\:(.*?)\,', params)
        items['排名'].append(rank)
        items['学校名称'].append(univNameCn)
        items['国家/地区'].append(region)
        items['总分'].append(score)
        items['研究生比例'].append(indData)
        # 匹配对应数据并写入字典里面
    return items


def get_grsssd_data(year):
    # 全球体育类院系学术排名
    url = "https://www.shanghairanking.cn/rankings/grsssd/{}".format(year)
    payload_js = get_payload_js(url)
    if not payload_js:
        return None
    params = get_params(payload_js)
    data = re.findall('\{ranking(.*?)\},', payload_js, re.S)
    items = {
        "排名": [],
        "学校名称": [],
        "国家/地区": [],
        "总分": [],
        "论文数": [],
    }
    for i, _ in enumerate(data):
        _ = "ranking" + _
        rank = get_data(_, 'ranking\:(.*?)\,', params)
        univNameCn = get_data(_, 'univNameCn\:(.*?)\,', params)
        score = get_data(_, 'score\:(.*?)\,', params)
        region = get_data(_, 'region\:(.*?)\,', params)
        indData = get_data(_, 'indData\:\{\"(.*?)\"\:(.*?)\,', params)
        items['排名'].append(rank)
        items['学校名称'].append(univNameCn)
        items['国家/地区'].append(region)
        if score:
            items['总分'].append(score)
        else:
            items['总分'].append('')
        items['论文数'].append(indData)
    return items


def get_arwu_data(year):
    # 世界大学学术排名
    url = f"https://www.shanghairanking.cn/api/pub/v1/arwu/rank?year={year}"
    print(url)
    resp = requests.get(url, headers=headers)
    data = resp.json()
    if year in '2003':
        k = "教师获奖"
    else:
        k = "校友获奖"
    items = {
        "排名": [],
        "学校名称": [],
        "国家/地区": [],
        "排名(国家/地区)": [],
        "总分": [],
        k: [],
    }
    inds = {_['nameCn']: _['code'] for _ in data['data']['inds']}
    # 字典生成式
    for r in data['data']['rankings']:
        items['排名'].append(r['ranking'])
        items['学校名称'].append(r['univNameCn'])
        items['国家/地区'].append(r['region'])
        items['排名(国家/地区)'].append(r['regionRanking'])
        items['总分'].append(r['score'])
        if k in inds:
            items[k].append(r['indData'].get(inds[k], "0"))
        else:
            items[k].append('')
    return items


def get_bcsr_name(year):
    # 获取中国最好学科排名的学科编码及名称
    # 2017 https://www.shanghairanking.cn/_nuxt/static/1655530991/rankings/bcsr/2017/payload.js
    url = f"https://www.shanghairanking.cn/_nuxt/static/1655530991/rankings/bcsr/{year}/payload.js"
    resp = requests.get(url, headers=headers)
    params = get_params(resp.text)
    data = re.findall('\{code(.*?)\},', resp.text, re.S)
    id_items = []
    for _ in data:
        _ = "code" + _
        _id = get_data(_, 'code\:(.*?)\,', params)
        if len(_id) <= 2:
            continue
        nameCn = get_data(_, 'nameCn\:(.*?)\,', params)
        id_items.append({"id": _id, "name": nameCn})
    return id_items


def get_bcsr_data(id_s, year):
    # 获取中国最好学科排名的学科编码及名称对应的排行榜
    url = f"https://www.shanghairanking.cn/api/pub/v1/bcsr/rank?target_yr={year}&yr={year - 1}&subj_code={id_s}"
    resp = requests.get(url, headers=headers)
    data = resp.json()
    items = {
        f"{year}排名": [],
        f"{year - 1}排名": [],
        "全部层次": [],
        "学校名称": [],
        "总分": []
    }
    for j in data['data']['rankings']:
        items[f"{year}排名"].append(j['ranking'])
        if j['contrastRanking'] and j['contrastRanking'].get(f"{year - 1}"):
            items[f"{year - 1}排名"].append(j['contrastRanking'].get(f"{year - 1}"))
        else:
            items[f"{year - 1}排名"].append('')
        items['全部层次'].append(j['rankPctTop'])
        items['学校名称'].append(j['univNameCn'])
        items['总分'].append(j['score'])
    return items


def get_gras_name(year):
    # 获取世界一流学科排名排名的学科编码及名称
    # https://www.shanghairanking.cn/_nuxt/static/1655530313/rankings/gras/2021/payload.js
    if year in [2019, 2020]:
        url = f"https://www.shanghairanking.cn/_nuxt/static/1655530991/rankings/gras/{year}/payload.js"
    else:
        url = f"https://www.shanghairanking.cn/_nuxt/static/1655530313/rankings/gras/{year}/payload.js"
    resp = requests.get(url, headers=headers)
    params = get_params(resp.text)
    data = re.findall('\{code(.*?)\},', resp.text, re.S)
    id_items = []
    for _ in data:
        _ = "code" + _
        _id = get_data(_, 'code\:(.*?)\,', params)
        if len(_id) <= 4:
            continue
        nameCn = get_data(_, 'nameCn\:(.*?)\,', params)
        id_items.append({"id": _id, "name": nameCn})
    return id_items


def get_gras_data(id_s, year):
    # 获取世界一流学科排名排名的学科编码及名称对应的排行榜
    url = f"https://www.shanghairanking.cn/api/pub/v1/gras/rank?year={year}&subj_code={id_s}"
    resp = requests.get(url, headers=headers)
    data = resp.json()
    if year != 2020 | 2021:
        k = "论文总数"
    else:
        k = "重要期刊论文数"
    items = {
        f"{year}排名": [],
        "学校名称": [],
        "国家/地区": [],
        "总分": [],
        k: [],
    }
    inds = {_['nameCn']: _['code'] for _ in data['data']['inds']}
    for j in data['data']['rankings']:
        items[f"{year}排名"].append(j['ranking'])
        items['学校名称'].append(j['univNameCn'])
        items['国家/地区'].append(j['region'])
        items['总分'].append(j['score'])
        if k in inds:
            items[k].append(j['indData'].get(inds[k], "0"))
        else:
            items[k].append('')
    return items


def get_bcmr_name():
    # 获取中国大学专业排名的专业编码及名称
    url = "https://www.shanghairanking.cn/rankings/bcmr/2021"
    payload_js = get_payload_js(url)
    if not payload_js:
        return None
    params = get_params(payload_js)
    data = re.findall('name=(.*?);(.*?)code=(.*?);', payload_js, re.S)
    id_items = []
    for _ in data:
        name = _[0]
        if name in params:
            name = params[name]
        name = name.replace('"', "")

        _id = _[-1]
        if _id in params:
            _id = params[_id]
        _id = _id.replace('"', "")

        if len(_id) <= 4:
            continue
        id_items.append({"id": _id, "name": name})
    return id_items


def parse(p):
    p = p.replace('"', "")
    if p == "null":
        return None
    if p == "false":
        return False
    return p


# 将js里面的null及false转为python里面的None,False,pyhon里面必须大写,将''去除


def get_data(s, re_t, params):
    k = re.findall(re_t, s, re.S)[0]
    if isinstance(k, tuple):
        k = k[-1]
    if k in params:
        k = params[k]
    else:
        k = k.replace('"', "")
    return k


def get_params(payload_js):
    params1 = re.findall('function\((.*?)\)', payload_js, re.S)[0].split(",")
    params1 = [x.strip() for x in params1]  # 参数列表
    params2 = [parse(_) for _ in
               re.findall("""}\((.*?)\)""", payload_js, re.S)[0].replace("\n", "").replace('"2021,2020"',
                                                                                           '"2021|2020"').split(
                   ",")]  # 值的列表
    # 映射关系
    params = {x: y for x, y in zip(params1, params2)}
    return params


# 获取参数对应的payload_js数据,


def get_bcmr_data(id_s):
    # 获取中国大学专业排名排名的学科编码及名称对应的排行榜
    url = f"https://www.shanghairanking.cn/api/pub/v1/bcmr/rank?year=2021&majorCode={id_s}"
    resp = requests.get(url, headers=headers)
    data = resp.json()
    items = {
        "评级": [],
        "排名": [],
        "学校名称": [],
        "省市": [],
        "总分": [],

    }

    # inds = {_['nameCn']: _['code'] for _ in data['data']['inds']}
    for j in data['data']['rankings']:
        items["评级"].append(j['grade'])
        items["排名"].append(j['ranking'])
        items['学校名称'].append(j['univNameCn'])
        city = j['city'] if j['city'] else j['province']
        items['省市'].append(city)

        # items['省市'].append(j['province'])

        items['总分'].append(j['score'])
    return items


def mune():
    print("RANKINGS爬虫启动")
    pid = os.getpid()
    print("pid:", pid)
    with open("./data/RANKINGS_pid.txt", "w") as f:
        f.write(str(pid))
    begin_year = 2003
    while begin_year <= 2022:
        # 总目录下如果没有年份子目录,或者年份子目录不在总目录下则在总目录下建立一个年份子目录
        if begin_year >= 2015:
            s1_d = os.path.join(s1, str(begin_year))
            if not os.path.exists(s1_d):
                os.makedirs(s1_d)
            ch1 = get_bcur_data(begin_year)
            if ch1:
                file_name = os.path.join(s1_d, "中国大学排名.csv")
                # 在年份子目录下建立对应排名文件
                pd.DataFrame(ch1).to_csv(file_name, index=False)
                # 写入数据

        if 2011 <= begin_year <= 2020:
            s6_d = os.path.join(s6, str(begin_year))
            if not os.path.exists(s6_d):
                os.makedirs(s6_d)
            c2 = get_rtugc_data(begin_year)
            if c2:
                file_name = os.path.join(s6_d, "中国两岸四地大学排名.csv")
                pd.DataFrame(c2).to_csv(file_name, index=False)

        if begin_year in [2016, 2017, 2018, 2020, 2021]:
            s7_d = os.path.join(s7, str(begin_year))
            if not os.path.exists(s7_d):
                os.makedirs(s7_d)
            c3 = get_grsssd_data(begin_year)
            if c3:
                file_name = os.path.join(s7_d, "全球体育类院系学术排名.csv")
                pd.DataFrame(c3).to_csv(file_name, index=False)

        if 2017 <= begin_year <= 2021:
            s2_d = os.path.join(s2, str(begin_year))
            if not os.path.exists(s2_d):
                os.makedirs(s2_d)
            for rk in get_bcsr_name(begin_year):  # 中国最好学科排名
                c4 = get_bcsr_data(rk['id'], begin_year)
                if c4:
                    file_name = os.path.join(s2_d, rk['name'] + ".csv")
                    pd.DataFrame(c4).to_csv(file_name, index=False)

            s5_d = os.path.join(s5, str(begin_year))
            if not os.path.exists(s5_d):
                os.makedirs(s5_d)
            for gr in get_gras_name(begin_year):  # 世界一流学科排名
                c5 = get_gras_data(gr['id'], begin_year)
                if c5:
                    file_name = os.path.join(s5_d, gr['name'] + ".csv")
                    pd.DataFrame(c5).to_csv(file_name, index=False)

        if begin_year in [2021, 2022]:
            print(begin_year)
            s3_d = os.path.join(s3, str(begin_year))
            if not os.path.exists(s3_d):
                os.makedirs(s3_d)
            for zr in get_bcmr_name():  # 中国大学专业排名
                c6 = get_bcmr_data(zr['id'])
                if c6:
                    file_name = os.path.join(s3_d, zr['name'] + ".csv")
                    pd.DataFrame(c6).to_csv(file_name, index=False)
        if 2003 <= begin_year <= 2021:
            s4_d = os.path.join(s4, str(begin_year))
            if not os.path.exists(s4_d):
                os.makedirs(s4_d)
            c7 = get_arwu_data(str(begin_year))
            file_name = os.path.join(s4_d, "世界大学学术排名.csv")
            pd.DataFrame(c7).to_csv(file_name, index=False)
        begin_year += 1


if __name__ == '__main__':
    begin_year = 2003
    while begin_year <= 2022:
        # 总目录下如果没有年份子目录,或者年份子目录不在总目录下则在总目录下建立一个年份子目录
        if begin_year >= 2015:
            s1_d = os.path.join(s1, str(begin_year))
            if not os.path.exists(s1_d):
                os.makedirs(s1_d)
            ch1 = get_bcur_data(begin_year)
            if ch1:
                file_name = os.path.join(s1_d, "中国大学排名.csv")
                # 在年份子目录下建立对应排名文件
                pd.DataFrame(ch1).to_csv(file_name, index=False)
                # 写入数据

        if 2011 <= begin_year <= 2020:
            s6_d = os.path.join(s6, str(begin_year))
            if not os.path.exists(s6_d):
                os.makedirs(s6_d)
            c2 = get_rtugc_data(begin_year)
            if c2:
                file_name = os.path.join(s6_d, "中国两岸四地大学排名.csv")
                pd.DataFrame(c2).to_csv(file_name, index=False)

        if begin_year in [2016, 2017, 2018, 2020, 2021]:
            s7_d = os.path.join(s7, str(begin_year))
            if not os.path.exists(s7_d):
                os.makedirs(s7_d)
            c3 = get_grsssd_data(begin_year)
            if c3:
                file_name = os.path.join(s7_d, "全球体育类院系学术排名.csv")
                pd.DataFrame(c3).to_csv(file_name, index=False)

        if 2017 <= begin_year <= 2021:
            s2_d = os.path.join(s2, str(begin_year))
            if not os.path.exists(s2_d):
                os.makedirs(s2_d)
            for rk in get_bcsr_name(begin_year):  # 中国最好学科排名
                c4 = get_bcsr_data(rk['id'], begin_year)
                if c4:
                    file_name = os.path.join(s2_d, rk['name'] + ".csv")
                    pd.DataFrame(c4).to_csv(file_name, index=False)

            s5_d = os.path.join(s5, str(begin_year))
            if not os.path.exists(s5_d):
                os.makedirs(s5_d)
            for gr in get_gras_name(begin_year):  # 世界一流学科排名
                c5 = get_gras_data(gr['id'], begin_year)
                if c5:
                    file_name = os.path.join(s5_d, gr['name'] + ".csv")
                    pd.DataFrame(c5).to_csv(file_name, index=False)

        if begin_year in [2021,2022]:
            print(begin_year)
            s3_d = os.path.join(s3, str(begin_year))
            if not os.path.exists(s3_d):
                os.makedirs(s3_d)
            for zr in get_bcmr_name():  # 中国大学专业排名
                c6 = get_bcmr_data(zr['id'])
                if c6:
                    file_name = os.path.join(s3_d, zr['name'] + ".csv")
                    pd.DataFrame(c6).to_csv(file_name, index=False)
        if 2003 <= begin_year <= 2021:
            s4_d = os.path.join(s4, str(begin_year))
            if not os.path.exists(s4_d):
                os.makedirs(s4_d)
            c7 = get_arwu_data(str(begin_year))
            file_name = os.path.join(s4_d, "世界大学学术排名.csv")
            pd.DataFrame(c7).to_csv(file_name, index=False)
        begin_year += 1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 大学排行网站全部排行数据 的相关文章

随机推荐

  • linux+暂停运行,如何暂停和继续运行Linux程序

    我们通过shell窗口运行程序时 由于有的程序长时间运行 直到下班了都还没有返回运行结果 这个时候 我们又不能直接关闭shell窗口 不然前面的时间就白白运行了 那有什么办法可以先暂停程序 明天再继续运行呢 不可行 关闭shell窗口后 后
  • 马踏棋盘-数据结构 详细教程

    文章目录 一 问题描述 二 问题分析 三 深度优先搜索 Depth First Search 1 基本原理 2 代码预览 四 dfs 贪心算法 1 贪心策略 2 贪心原理 3 核心代码 4 代码预览 五 栈 贪心 1 回溯方法 2 基本操作
  • 新导入的项目出现很多“cannot resolve symbol ***”,项目运行不成功,怎么处理

    新导入的项目的启动类中很多类实例化出现错误 报错内容为 cannot resolve symbol 如下图所示 我在网上搜索相关信息 有一个网页总结的比较好 网页链接 其第一种解决方式没有尝试 其他的方式我尝试了很多 更改配置之类 但都没有
  • 企业网站搭建:如何规划内容?

    企业网站是企业展示自身形象和产品的重要渠道 搭建一个优质的企业网站可以提高企业的知名度 品牌价值和业务转化率 企业网站的内容规划非常重要 好的内容规划可以帮助企业更好地向用户展示自己 并提高用户体验 以下是一些关于企业网站内容规划的建议 1
  • jquery插件无缝滚动通知栏js特效

    下载地址 一款实用的jquery插件无缝滚动网页 常见的通知栏滚动播报特效 dd
  • Element-UI踩坑之Pagination组件

    先说结论 在改变pageSize时 若当前的currentPage超过了最大有效值 就会修改为最大有效值 一般Pagination组件的声明如下
  • FinalShell上传文件失败

    本地电脑创建虚拟机 使用FinalShell连接虚拟机 上传文件失败 解决办法 使用root账户连接 不要使用普通账户
  • SpringBoot-黑马-笔记

    SpringBoot 是由 Pivotal 团队提供的全新框架 其设计目的是用来简化 Spring 应用的初始搭建以及开发过程 目录 1 SpringBoot快速入门 起步依赖 程序启动 2 配置文件 yaml配置文件数据读取 多环境配置
  • 万字因果推断入门:为什么要做因果推断?

    来源 PaperWeekly 1 为什么需要因果推断 1 1 辛普森悖论 首先 考虑一个与现实情况很相关的例子 针对某种新冠病毒 COVID 27 假设有两种疗法 方案 A 和方案 B B 比 A 更稀缺 耗费的医疗资源更多 因此目前接受方
  • APP爬虫入门,Appium+Mitmproxy强势组合实现抖音的数据爬取

    APP爬虫入门 Appium Mitmproxy强势组合实现抖音的数据爬取 最近一直在研究APP的爬虫实现 前面文章讲了虚拟机和Appium环境的搭建 和 SSL PINNING的解决方法 主要难点在于解决APP开启SSL Pinning导
  • property received type-uncompatible value: expected <Array> but got non-array value.

    Component property received type uncompatible value expected
  • JSP基础总结+例题

    1 什么是JSP Java Server Pages 1 1概述 简化的Servlet设计 在HTML标签中嵌套Java代码 用以更新开发Web应用的动态网页 JSP文件在容器中会转换成Servlet执行 JSP是对Servlet的一种高级
  • 笔记记录--Docker使用WVP-Pro网络视频平台

    1 Docker拉取镜像 镜像地址 docker镜像地址 docker pull 648540858 wvp pro docker run env WVP IP 192 168 18 61 it p 18080 18080 p 30000
  • Ag-grid在vue中使用的必要属性

    文档链接 id myGrid 唯一标识 gridReady 渲染完成后的事件 defaultColDef this defaultColDef 默认定义 所有的列都有的属性 context this context componentPar
  • 阿里巴巴——三面,面试经历记录

    在 boss 直聘上无意间看到了阿里巴巴菜鸟网络的招聘信息 现在的部门已经有两名同学被蚂蚁金服录取了 自己就不服气的也想试试 这次面试其实并没有准备充分 之前就听说总共有很多轮数 不仅会考察基础知识的深度 也会考察算法能力 项目设计能力 价
  • 精准测试之过程与实践

    作者 京东工业 宛煜昕 一 怎样的技术 百度百科 精准测试是一套计算机测试辅助分析系统 精准测试的核心组件包含的软件测试示波器 用例和代码的双向追溯 智能回归测试用例选取 覆盖率分析 缺陷定位 测试用例聚类分析 测试用例自动生成系统 这些功
  • image caption问题为什么需要spatial attention

    参考论文 SCA CNN Spatial and Channel wise Attention in Convolutional Networks for Image Captioning image caption是一个image to
  • android 经纬度 谷歌,android:GPS获取location经纬度并用谷歌解析为地理位置名称

    实现的功能 先获取本地的经纬度 再根据经纬度 请求googleapis来解析地理位置名称 下面的例子 能够跑起来 亲测 多说无益 看码 首先搞一个布局 其实就是一个textView 一个button 点击button后 在textview展
  • python3 赋值列表sort打印出None的解决方法

    d 42 62 78 19 13 53 67 35 sort print d d 42 62 78 19 13 53 67 35 print d sort 结果如下 None None 列表创建了之后 执行列表排序 不在变量里排序 因为so
  • python 大学排行网站全部排行数据

    RANKINGS CRAWLER 中国大学排名 中国两岸四地排名 全球体育类院系大学排行 世界大学学术排名 中国最好学科排名 中国大学专业排名 世界一流学科排名 每个专业学科排行都有 方法跟实际代码有变动 方法一 获取中国大学排名 中国两岸