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


Posted in Python onFebruary 24, 2018

本文实例为大家分享了Python爬取最好大学网大学排名的具体代码,供大家参考,具体内容如下

源代码:

#-*-coding:utf-8-*- 
''''' 
Created on 2017年3月17日 
@author: lavi 
''' 
import requests 
from bs4 import BeautifulSoup 
import bs4 
def getHTMLText(url): 
  try: 
    r = requests.get(url) 
    r.raise_for_status 
    r.encoding = r.apparent_encoding 
    return r.text 
  except: 
    return "" 
 
def fillUnivList(univList,html): 
  soup = BeautifulSoup(html,"html.parser") 
  for tr in soup.find("tbody").children: 
    if isinstance(tr,bs4.element.Tag): #tobody有的节点是空串,属于要判断类型进行过滤 
      tds = tr("td") #等价于tr.find_all("td") 
      univList.append([tds[0].string,tds[1].string,tds[2].string]) #NavigableString可以跨越多个层次 
 
def printUnivList(univList,num): 
  tplt = "{0:^6}\t{1:^10}\t{2:^6}" #:前的数字说明使用format函数的第几个参数填充模板 
  print(tplt.format("排名","学校名称","总分",chr(12288))) 
  for i in range(num): 
    u = univList[i] 
    print(tplt.format(u[0],u[1],u[2],chr(12288))) 
def main(): 
  url= "http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html"; 
  html = getHTMLText(url) 
  univList=[] 
  fillUnivList(univList,html) 
  printUnivList(univList,20) 
   
main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用装饰器和元编程实现结构体类实例
Jan 28 Python
python 多线程实现检测服务器在线情况
Nov 25 Python
Python3连接MySQL(pymysql)模拟转账实现代码
May 24 Python
Python用threading实现多线程详解
Feb 03 Python
解决uWSGI的编码问题详解
Mar 24 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
Oct 11 Python
Python中的pygal安装和绘制直方图代码分享
Dec 08 Python
python web基础之加载静态文件实例
Mar 20 Python
Python实现的从右到左字符串替换方法示例
Jul 06 Python
python使用MQTT给硬件传输图片的实现方法
May 05 Python
在Python中画图(基于Jupyter notebook的魔法函数)
Oct 28 Python
Python tkinter 下拉日历控件代码
Mar 04 Python
python opencv 直方图反向投影的方法
Feb 24 #Python
python爬虫爬取淘宝商品信息
Feb 23 #Python
python爬取淘宝商品详情页数据
Feb 23 #Python
Python如何抓取天猫商品详细信息及交易记录
Feb 23 #Python
python列表生成式与列表生成器的使用
Feb 23 #Python
1分钟快速生成用于网页内容提取的xslt
Feb 23 #Python
python使用xslt提取网页数据的方法
Feb 23 #Python
You might like
德生BCL3000的电路分析和打磨
2021/03/02 无线电
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
PHP中__autoload和Smarty冲突的简单解决方法
2016/04/08 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
javascript打印html内容功能的方法示例
2013/11/28 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
jquery if条件语句的写法
2016/05/19 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
详解用async/await来处理异步
2019/08/28 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
2020/07/27 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
深入理解Python变量与常量
2016/06/02 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
在python plt图表中文字大小调节的方法
2019/07/08 Python
Python logging设置和logger解析
2019/08/28 Python
python获取引用对象的个数方式
2019/12/20 Python
python路径的写法及目录的获取方式
2019/12/26 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
golang/python实现归并排序实例代码
2020/08/30 Python
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
波兰最大的儿童服装连锁店之一:5.10.15.
2018/02/11 全球购物
年度考核自我鉴定
2014/03/19 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python