python爬取大学排名信息

摘要:python爬取大学排名信息

代码部分:

import requests
from bs4 import BeautifulSoup
import bs4

def getHTMLText(url):
    try:
        r = requests.get(url)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return ""

def fillUnivList(ulist,html):
    soup = BeautifulSoup(html, "html.parser")
    for tr in soup.find('tbody').children:
        if isinstance(tr, bs4.element.Tag):
            tds = tr('td')
            ulist.append([tds[0].string,tds[1].string,tds[3].string])

def printUnivLise(ulist,num):
    tplt="{0:{3}^10}\t{1:{3}^10}\t{2:{3}^10}"
    print(tplt.format("排名","学校名称","总分",chr(12288)))
    for i in range(num):
        u=ulist[i]
        print(tplt.format(u[0],u[1],u[2],chr(12288)))


def main():
    uinfo=[]
    url='http://www.zuihaodaxue.com/zuihaodaxuepaiming2019.html'
    html=getHTMLText(url)
    fillUnivList(uinfo,html)
    printUnivLise(uinfo,20)

main()

运行结果:

 

这里对20所大学进行排名,需要更多可以修改代码中的参数。

 

posted @ 2020-03-15 21:18  土豆面包  阅读(582)  评论(0编辑  收藏  举报