#!/usr/bin/env python

# coding: utf-8

import bs4

import requests

from bs4 import BeautifulSoup

# 通过传入网址信息创建一个获取网页文本的函数

def getHTMLText(url):

# 判断获取网页文本过程中是否有错误

try:

# 打开网址获取文本,并且把延迟设置成30s

r = requests.get(url, timeout=30)

# 获取状态码

r.raise_for_status()

# 设置文件编码

r.encoding = r.apparent_encoding

# 如果成功返回网页文本

return r.text

except:

# 获取网页文本有错误则返回空文本

return ""

# 通过传入空列表和网页文本信息创建一个在大学列表中加入大学信息的函数

def fillUnivList(ulist, html):

# 用BeautifulSoup将网页文本以’html.parser"煮成一锅粥

soup = BeautifulSoup(html, "html.parser")

# 通过网页源代码我们可以发现我们需要的信息都在tbody标签内,因此我们循环找出’tbody"标签及其子标签的内容

for tr in soup.find('tbody').children:

# 通过bs4.element.Tag判断是否为tr标签

if isinstance(tr, bs4.element.Tag):

# 对于tr标签的我们拿到tr标签里的td标签

tds = tr('td')

# [

1,

清华大学

, 北京, 95.3...

# 我们通过筛选出我们需要的td标签中的文本并将其用列表的方式加入我们传入的列表ulist中

ulist.append([tds[0].string, tds[1].string,

tds[2].string, tds[3].string])

# 通过传入学校列表信息创建一个打印大学列表的函数

def printUnivList(ulist,province):

# 打印标题

print("中国最好大学排名2018({}地区)".center(45, '-').format(province))

# 设置一个format格式化的模板

# 注意:这里的{4}是因为utf8格式的英文和中文字节数不同,python会自动用英文来填

tplt = "{0:^10} {1:{4}^10} {2:^10} {3:^10}"

# 充空白位置,我们用chr(12288)将其修改成用中文填充空白位置

# 打印第一行

print(tplt.format("排名", "学校名称", "地区", "总分", chr(12288)))

if province == '安徽':

print(tplt.format(1, '安徽师范大学花津校区', '安徽', 99.9, chr(12288)))

# 循环取出列表中的每一所大学的信息,取出的大学信息是列表的形式(可以控制range(len(ulist))的长度来控制想要打印的学校的数量)

for i in range(len(ulist)):

# 将每一所大学的信息以列表的形式赋值给u

u = ulist[i]

# u[2]是地区,判断是否为安徽地区(可以自己更改地区信息,如果删除该判断,打印所有学校信息,也可以更改判断条件)

if u[2] == province:

# 如果为安徽地区,我们打印属于安徽地区的每一所大学的信息

print(tplt.format(u[0], u[1], u[2], u[3], chr(12288)))

# 创建一个运行函数

def main(province='安徽'):

# 创建一个空列表,为填充大学信息列表做准备

uinfo = []

# 定义一个想要爬取的网页

url = 'http://www.zuihaodaxue.cn/zuihaodaxuepaiming2018.html'

# 传入想要爬取的网页获取该网页文本信息

html = getHTMLText(url)

# 给填充大学信息函数传值

fillUnivList(uinfo, html)

# 给打印大学信息函数传值

printUnivList(uinfo,province=province)

main()

# main(province='北京')

python中国大学排名爬虫写明详细步骤-Python之爬虫-中国大学排名相关推荐

  1. python中国大学排名爬虫写明详细步骤-Python爬虫——定向爬取“中国大学排名网”...

    内容整理自中国大学MOOC--北京理工大学-蒿天-Python网络爬虫与信息提取 相关实战章节 我们预爬取的url如下 网页节选 在浏览器中读取网页源代码 可以 发现表格数据信息是直接写入HTML页面 ...

  2. python中国大学排名爬虫写明详细步骤-python中国大学排名爬虫

    python 中国大学排名爬虫 首先,给一个最好大学网URL:http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html, 点击这里进入 . 功能描述 ...

  3. python中国大学排名爬虫写明详细步骤-Python爬虫--2019大学排名数据抓取

    Python爬虫--2019大学排名数据抓取 准备工作 输入:大学排名URL连接 输出:大学排名信息屏幕输出 所需要用到的库:requests,bs4 思路 获取网页信息 提取网页中的内容并放到数据结 ...

  4. python中国大学排名爬虫写明详细步骤-python网络爬虫入门实例:中国大学排名定向爬虫...

    中国大学排名定向爬虫的 设计和实现 一.环境安装: 1.选择一个适合自己的IDE(以下代码用Jupyter Notebook编写) 2.打开cmd,安装requests库和beautifulsoup4 ...

  5. python中国大学排名爬虫写明详细步骤-python爬虫爬取2020年中国大学排名

    from bs4 import BeautifulSoup # 网页解析 获取数据 import re # 正则表达式 进行文字匹配 import urllib.request, urllib.err ...

  6. python中国大学排名爬虫写明详细步骤-Python爬虫 2020中国大学排名

    爬取中国大学排名 request 获取 html beautiful soup 解析网页 re 正则表达式匹配内容 新建并保存 excel 1 2 3 4 -*- codeing = utf-8 -* ...

  7. python官网的sdk下载详细步骤-Python SDK(beta)

    Python SDK(beta) 更新时间:2018-03-23 17:26:00 概述 本文结合Link Develop,详细介绍如何基于Python SDK,实现物联网设备的设备注册.属性上报.事 ...

  8. python中国大学排名爬虫写明详细步骤-【Python爬虫】从html里爬取中国大学排名...

    from bs4 import BeautifulSoup import requests import bs4 #bs4.element.Tag时用的上 #获取网页页面HTML def getHTM ...

  9. python官网的sdk下载详细步骤-Python SDK

    下载地址 IMM Service 的 Python SDK 让开发人员可以非常方便地使用 Python 操作阿里云智能媒体管理服务. 已经开源到github. 操作步骤 为快速开始使用 IMM Ser ...

最新文章

  1. JS判断鼠标从哪个方向进入DIV容器
  2. saas- -m ihrm 项目_Convertlab等企业入选腾讯SaaS加速器二期名单
  3. 组件用.vue还是.js_如何使用Vue.js 2.0构建灵活的图像上传器组件
  4. 【PHP学习】—利用ajax原理实现登录功能(八)
  5. Selenium 2入门
  6. [渝粤教育] 长沙航空职业技术学院 液压与气动技术 参考 资料
  7. 【seaborn】(五)联合分布图
  8. BOOT.BIN文件
  9. python常见的PEP8规范
  10. 二手书店APP软件开发定制
  11. auto.js 快手自动评论脚本 引流操作
  12. java统计有多少个单词_Java不同单词个数统计
  13. svn提交代码到远程服务器
  14. LINUX下设置postgresql的登录密码
  15. 将url网址转换成对象
  16. 应届毕业生选择国企还是外企好
  17. 培训第一天网页设计知识点
  18. 系统光盘内容怎么考到计算机里,怎么把光盘内容复制到电脑上
  19. 第二届2011年国信蓝点杯软件设计大赛预赛的试题7
  20. 如何下载百度离线地图瓦片数据

热门文章

  1. php将科学计算法得出的结果转换成原始数据
  2. jquery遍历json的几种方法
  3. 使用while语句修改后的效果和for一样
  4. Visual C# 编程操作Excel
  5. 怎么查看python是否安装成功-如何查看python是否安装成功?
  6. python 用途-python主要用途
  7. python常用标准库有哪些-Python - 常用标准库
  8. python画图代码星星-Python利用for循环打印星号三角形的案例
  9. python是一门什么课程-从无到有用Python创造一门属于自己的编程语言1
  10. python大神-6年Python大神总结10个开发技巧,80%的人都不会