python爬虫爬取最好大学排名

Posted james-ben

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫爬取最好大学排名相关的知识,希望对你有一定的参考价值。

#-*- coding:utf-8 -*-
#-Author-= JamesBen
 #Email: 1597757775@qq.com

import  requests
from bs4 import  BeautifulSoup
import bs4

#定义第一个函数得到网页源代码,并且可以进行稳定的运行
def  Get_HTML(url):
    try :
        use = {User-Agent: Mozilla/5.0}  #此行代码骗过服务器我们是使用浏览器进行访问的,防止有些网站对我们进行拦截
        r = requests.get(url, timeout = 30,headers = use)
        r.raise_for_status()      #如果状态不是200引发HTTPError异常
        r.encoding = r.apparent_encoding  #将文本的编辑方式传给头,防止造成编码错路出现乱码
        return  r.text
    except :
            return "产生异常"

#定义一个函数得到特定的tr标签
def  U_list(ulist,html):
    soup = BeautifulSoup(html,"html.parser")
    for tr in soup.find("tbody").children:
        if  isinstance(tr,bs4.element.Tag):  #筛选tr标签的类型,如果不是Tag定义的类型将过滤掉
            tds = tr("td")
            ulist.append([tds[0].string,tds[1].string,tds[3].string])
    pass

#格式化输出函数
def print_Univlist(ulist,num):
    tplt="{0:^10}	{1:{3}^10}	{2:^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)))
    print("Suc"+str(num))

def main():
    uinfo = []
    url = http://www.zuihaodaxue.com/zuihaodaxuepaiming2019.html
    html = Get_HTML(url)
    U_list( uinfo,html)
    print_Univlist( uinfo,20)


if __name__ == "__main__":
    main()

 

以上是关于python爬虫爬取最好大学排名的主要内容,如果未能解决你的问题,请参考以下文章

(参考)爬虫5-爬取中国大学排名情况

python爬取中国大学排名

Python爬虫——定向爬取“中国大学排名网”

python爬虫入门---第二篇:获取2019年中国大学排名

python高级应用程序设计任务

python高级应用程序设计任务