zoukankan      html  css  js  c++  java
  • 爬虫日记-最好大学排名实例

    实例爬取

    import  requests
    from bs4 import  BeautifulSoup
    import bs4
    
    def getHTMLText(url): # 这个函数的作用是就是获取url的内容。
        try:
            r=requests.get(url,timeout =30)
            r.raise_for_status()
            r.encoding=r.apparent_encoding
            return r.text
        except:
            return ''
    
    
    def fillUnivList(ulist,html):  # 这个函数用来把全部文本中需要的内容提取出来
        soup=BeautifulSoup(html,'html.parser')
        print(soup)
        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 printUnivList(ulist,num): # 用来把提取出来的数据展示出来
        print('{:^10}	{:^6}	{:^18}'.format('排名','学校名称','总分'))
        for i in range(num):
            u=ulist[i]
            print('{:^10}	{:^6}	{:^18}'.format(u[0],u[1],u[2]))
    
    
    
    def main():  # 主函数,调用,用来传入参数,和调用其他函数
        uinfo =[]
        url='http://www.zuihaodaxue.com/zuihaodaxuepaiming2019.html'
        html=getHTMLText(url)
        fillUnivList(uinfo,html)
        printUnivList(uinfo,20)
    main()
    

    排名 学校名称 总分
    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
    11 北京航空航天大学 56.3
    12 武汉大学 56.2
    13 同济大学 55.7
    14 西安交通大学 55.0
    15 四川大学 54.4
    16 北京理工大学 54.0
    17 东南大学 53.6
    18 南开大学 52.8
    19 天津大学 52.3
    20 华南理工大学 52.0

  • 相关阅读:
    JS 判断一个字符串是否包含在一个数组中
    CSS溢出文本省略(text-overflow)
    C++ const
    Neural Network Virtual Machine
    RFCN配置参数
    推荐系统实战(1)
    决策树
    神经网络之全连接层详解
    [专题论文阅读]【分布式DNN训练系统】 FireCaffe
    不见了的一块钱
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11408045.html
Copyright © 2011-2022 走看看