(B爬取与分析网页数据)根据url变量提供的网址,爬取网页中2021年中国大学排名信息

题目说明

根据url变量提供的网址,爬取网页中2021年中国大学排名信息,然后加工并显示前N名大学的排名、学校名称、省市、类型、总分、办学层次等五列信息。其中N由键盘输入。
其中北京大学显示如下图:

 

北京大学对应的html如下

<tr data-v-3fe7d390><td data-v-3fe7d390><div class="ranking top2" data-v-3fe7d390>
              2
            </div></td><td class="align-left" data-v-3fe7d390><div class="univname-container" data-v-3fe7d390><div class="logo" data-v-3fe7d390><img alt="北京大学" onerror='this.src="/images/blank.svg"' src="https://www.shanghairanking.cn/_uni/logo/86350223.png" class="univ-logo" data-v-3fe7d390></div> <div class="univname" data-v-3fe7d390><div data-v-b80b4d60 data-v-3fe7d390><div class="tooltip" data-v-b80b4d60><div class="link-container" data-v-b80b4d60><a href="/institution/peking-university" class="name-cn" data-v-b80b4d60>北京大学 </a> <div class="collection" style="display:none" data-v-b80b4d60><img src="/_nuxt/img/uncollection.5e124aa.svg" alt data-v-b80b4d60></div></div> <!----></div></div> <div data-v-f9104fdc data-v-3fe7d390><div class="tooltip" data-v-f9104fdc><div class="link-container" data-v-f9104fdc><a href="/institution/peking-university" class="name-en" data-v-f9104fdc>Peking University </a></div> <!----></div></div> <p class="tags" data-v-3fe7d390>双一流/985/211</p> <!----> <!----> <!----></div></div></td><td data-v-3fe7d390>
            北京
            <!----></td><td data-v-3fe7d390>
            综合
            <!----></td><td data-v-3fe7d390>
            855.3
          </td><td data-v-3fe7d390>
                    36.1
                </td></tr>

 

样例输入

3

 

样例输出

1,清华大学TsinghuaUniversity一流大学A类/985/211,北京,综合,969.2,37.9
2,北京大学PekingUniversity一流大学A类/985/211,北京,综合,855.3,36.1
3,浙江大学ZhejiangUniversity一流大学A类/985/211,浙江,综合,768.7,34.3

 

样例输入

5

 

样例输出

1,清华大学TsinghuaUniversity一流大学A类/985/211,北京,综合,969.2,37.9
2,北京大学PekingUniversity一流大学A类/985/211,北京,综合,855.3,36.1
3,浙江大学ZhejiangUniversity一流大学A类/985/211,浙江,综合,768.7,34.3
4,上海交通大学ShanghaiJiaoTongUniversity一流大学A类/985/211,上海,综合,723.4,35.5
5,南京大学NanjingUniversity一流大学A类/985/211,江苏,654.8,35.1

 

参考代码

#coding=gbk
import requests
from bs4 import BeautifulSoup
url = 'https://www.shanghairanking.cn/rankings/bcur/2021'
""""""
page=requests.get(url)
page.encoding='utf-8'
html=page.text
soup=BeautifulSoup(html,"html.parser")
data=soup.find_all('td')
n=int(input())
for i in range(n):
    str=''
    str+=data[i*6+0].text.replace(' ','').replace('\n','')+','
    str+=data[i*6+1].text.replace(' ','').replace('\n','')+','
    str+=data[i*6+2].text.replace(' ','').replace('\n','')+','
    str+=data[i*6+3].text.replace(' ','').replace('\n','')+','
    str+=data[i*6+4].text.replace(' ','').replace('\n','')+','
    str+=data[i*6+5].text.replace(' ','').replace('\n','')+'\n'
    print(str,end='')
""""""

 

posted @ 2022-12-13 21:27  淡淡的晓山横雾  阅读(69)  评论(0编辑  收藏  举报