使用Python爬取中国大学排名,并格式化对其输出内容

标签: python
255人阅读 评论(0) 收藏 举报
分类:

首先,我们需要注意几点
1.可以使用isinstance语句配合bs4库中的bs4.element.Tag判断获取到的对象是不是标签对象.
2.输出内容并且要求他用空白补齐时,系统默认用的是英文空白符,英文空白符和中文空白符(chr(12288)获取)宽度不一样。

#代码使用python3.x编写
import requests
from bs4 import BeautifulSoup
import bs4 #导入bs4库是为了获取节点的对象类型是不是节点类型

def getHTMLText(url):
    r = requests.get(url,timeout=30)
    if(r.status_code != 200):
        return ""
    else:
        r.encoding = r.apparent_encoding
        return r.text
def fillUnivList(ulist,text):
    soup = BeautifulSoup(text, "html.parser")
    for tr in soup.find("tbody").children:
        # 判断是不是节点类型
        if isinstance(tr,bs4.element.Tag):
            tds = tr('td')#等同于tr.find_all('td')
            ulist.append([tds[0].next.string,tds[1].string,tds[3].string]) #获取子节点标签里面的内容,并放到ulist里面

def printUnivList(ulist,num):
    print(len(ulist))
    templte = "{0:{3}^10}\t{1:{3}^10}\t{2:{3}^10}" #0,1,2,3表示的是第几个参数:是必须写的,^表示居中对齐,5和10表示字符数量,{3}表示用第3个参数来填充,\t是横向制表符
    print(templte.format("序号","大学名称","分数",chr(12288))) #12288表示中文空格符号
    for i in range(num): #num控制显示数量
            print(templte.format(ulist[i][0],ulist[i][1],ulist[i][2],chr(12288)))


def main():
    url = "http://www.zuihaodaxue.cn/zuihaodaxuepaiming2017.html"
    htmlText = getHTMLText(url)
    uinfo = []
    fillUnivList(uinfo,htmlText)
    printUnivList(uinfo,20)

main()
查看评论

python爬虫定向爬取中国大学排名

#CrawUnivRankingA.py import requests from bs4 import BeautifulSoup import bs4def getHTMLText(url): ...
  • xuptacm
  • xuptacm
  • 2017-08-02 22:19:38
  • 401

Python爬虫实战:2017中国最好大学排名

抓取内容: 从最好大学网上抓取中国前10的大学排名、大学名称、总分,并数据格式左对齐。http://www.zuihaodaxue.cn/zuihaodaxuepaiming2017.html 首先,...
  • bestdwd
  • bestdwd
  • 2017-06-27 09:42:38
  • 759

使用Python爬取最好大学网大学排名

使用Python的requests库和BeautifulSoup库爬取最好大学生上的大学排名
  • liuweiyuxiang
  • liuweiyuxiang
  • 2017-03-17 20:23:50
  • 1091

爬虫实例(二)——中国大学排名爬虫

本文是官途爬取 2016 年中国大学排名的,要爬取的网址: http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html假如我们要爬取的信息是前 20 ...
  • CJX_up
  • CJX_up
  • 2017-09-07 16:55:34
  • 278

定向爬虫:中国大学排名定向爬虫(一)

中国大学排名定向爬虫(一)话不多说,直接放码代码很粗糙,还没有优化,而且有一个很有意思的问题没有解决,http://www.zuihaodaxue.cn/zuihaodaxuepaiming2017....
  • liuxiang1995
  • liuxiang1995
  • 2017-11-15 22:25:51
  • 170

中国大学排名爬虫

  • 2018年01月14日 16:12
  • 1020B
  • 下载

python爬虫学习 之 定向爬取 中国大学排名

python爬虫学习 之 定向爬取 中国大学排名输入:大学url链接 输出:大学排名的屏幕输出(排名,名称,所在省份) 技术路线:requests-bs4 定向爬虫,不扩展获取1、爬取可行性分析...
  • learn_is_happy
  • learn_is_happy
  • 2017-12-10 21:32:53
  • 95

爬取"最好大学网站"大学排名

上半年在学bs4时的一个爬虫,主要是针对table标签的,可用于爬取其他类似网站,代码比较好更改# -*- coding: utf-8 -*- import requests from bs4 imp...
  • Co_zy
  • Co_zy
  • 2017-08-22 14:53:50
  • 169

requests‐bs4路线实现中国大学排名定向爬虫

预备阅读:Python中Requests库的用法   Python中Beautiful Soup的用法 前言 最近学习了北京理工大学崇天老师的Python爬虫课程,老师讲了一个实现“中国大学排名定向...
  • Airy_
  • Airy_
  • 2017-03-24 08:37:41
  • 867

Python 爬虫学习笔记三:多页内容爬取&内容分析及格式化

Python 爬虫学习笔记三:多页内容爬取&内容分析及格式化 python int 与 string 之间的转换: Python int与string之间的转化 string–>i...
  • JennyChen66
  • JennyChen66
  • 2017-11-15 15:14:26
  • 549
    个人资料
    持之以恒
    等级:
    访问量: 2万+
    积分: 1166
    排名: 4万+
    最新评论