码迷,mamicode.com
首页 > 编程语言 > 详细

python爬虫爬取最好大学排名

时间:2020-02-13 00:05:11      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:定义   perror   odi   body   parser   html   status   网页   pre   

#-*- 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}\t{1:{3}^10}\t{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爬虫爬取最好大学排名

标签:定义   perror   odi   body   parser   html   status   网页   pre   

原文地址:https://www.cnblogs.com/James-Ben/p/12301783.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!