正在运行(●°u°●)​ 」 2021-06-11 12:08 采纳率: 0%
浏览 30

为什么python3.6说url is not defined,代码是是中国大学排名的那个实例

 

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2021-06-11 12:15
    关注

    你这个代码不全,并且采集的这个页面用的ajax加载的数据,源代码里面是没有内容的,可以直接请求接口获取数据(json格式的),解析json数据获取内容就行了。

    对你有帮助能点个采纳吗,谢谢~~

    import requests
    import json
      
    def getHTMLText(url):
        try:
            r = requests.get(url,timeout=30)
            r.raise_for_status()
            r.encoding = r.apparent_encoding
            return r.text
        except:
            return ""
            
    def main():
        uinfo = []
        url = 'https://www.shanghairanking.cn/api/pub/v1/bcur?bcur_type=11&year=2021'
        html = getHTMLText(url)
        data= json.loads(html)
        rankings=data["data"]["rankings"]
        for i,item in enumerate(rankings):
            print (str(i)+"."+item["univNameCn"])
            if i>20:
                break
            
    main()
    
    评论

报告相同问题?