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

  • 相关阅读:
    导入测试用例的设计
    质量管理的精髓
    ios crash的原因与抓取crash日志的方法
    怎样实现excel隔行隔列变色效果的方法
    如何提高员工的质量意识?
    史上最全的测试团队组建方法
    如何写好缺陷报告?
    你还不知道?这四个因素决定了你的养老金待遇!
    各手机截屏方法收集
    利用drozer进行Android渗透测试
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11408045.html
Copyright © 2011-2022 走看看