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

  • 相关阅读:
    hdu 4813(2013长春现场赛A题)
    NEFU 628 Garden visiting (数论)
    FZU 2020 组合 (Lucas定理)
    HDU 3304 Interesting Yang Yui Triangle (Lucas定理)
    HDU 3037 Saving Beans (数论,Lucas定理)
    UVa 1161 Objective: Berlin (最大流)
    Vijos P1951 玄武密码 (AC自动机)
    LA 4670 Dominating Patterns (AC自动机)
    HDU 2340 Obfuscation (暴力)
    HDU 5510 Bazinga (KMP)
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11408045.html
Copyright © 2011-2022 走看看