python,网络爬虫完整示例代码--抓取中国最好大学排名网站信息,并进行输出显示

zluxingzhe 2020-01-17

import requests,bs4
from bs4 import BeautifulSoup
def getHTMLText(url):
    try:
        r=requests.get(url)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.text
    except:
        print("request failed")

def getObjectData(soup):
    li=[]
    for tr in soup.find(‘tbody‘).children:
        if isinstance(tr,bs4.element.Tag):
            tds=tr(‘td‘)
            li.append([tds[0].string,tds[1].string,tds[3].string])
    return li

def printUnivList(result,num):
    print("sequence"+"\t"+"UnivName"+"\t"+"Score")
    for i in range(num):
        print(result[i][0]+‘\t‘+result[i][1]+‘\t‘+result[i][2])


url="http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html"
demo = getHTMLText(url)
soup = BeautifulSoup(demo,"html.parser")
result = getObjectData(soup)
printUnivList(result,10)

上面的代码成功地实现了从"中国最好大学2019网站(http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html)上抓取大学排名,大学名称,总成绩等内容,并进行显示.运行结果如下:

sequence    UnivName    Score
1    清华大学    94.6
2    北京大学    76.5
3    浙江大学    72.9
4    上海交通大学    72.1
5    复旦大学    65.6
6    中国科学技术大学    60.9
7    华中科技大学    58.9
7    南京大学    58.9
9    中山大学    58.2
10    哈尔滨工业大学    56.7

相关推荐