python-最好大学排名

# -*- coding: utf-8 -*-
"""
Created on Mon Apr 3 09:37:52 2017

@author: zuihaodaxuepaiming
"""
import bs4
import requests
from bs4 import BeautifulSoup

def getHtmlText(url):
try:
r = requests.get(url, timeout = 30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return ‘‘

def fillUnivText(html,uinfo):
soup = BeautifulSoup(html,"html.parser")
for tr in soup.find(‘tbody‘).children:
if isinstance(tr, bs4.element.Tag):
tds = tr(‘td‘)
uinfo.append([tds[0].string, tds[1].string, tds[3].string])

def printUnivText(uinfo,num):
# tplt = "{}\t{}\t{2:^10}"
print("{:^3}\t{:^3}\t{:^3}".format("排名排名","名称","总分"))
for i in range(num):
u = uinfo[i]
print("{:^5}\t{:^10}\t{:^10}".format(u[0],u[1],u[2]))

def main():
uinfo = []
url = ("http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html")
r = getHtmlText(url)
fillUnivText(r,uinfo)
printUnivText(uinfo,20)

main()

--------------------

10:56:07
‘{0:{3}}‘ 或者 {:^3} 
 10:56:30
{0:3}也可以
 10:56:56
为什么要从0开始?
10:57:28
就是不能{1:^3} , python文档里面没有这种切片格式
 10:59:03
{0:3}意思是接着前面的切取第0、1、2个共3*2个位值是吗?
@大大的 
10:59:12
^符号就是从头开始,你又制定切片从1开始不矛盾吗?
 10:59:14
类似于列表或字符串的切片,只是切空格符切成你想要的长度再通过format填进去(我是这么理解的,不知道对不对。)
切片、中英文对齐问题

待解决==占坑

时间: 2024-10-19 23:34:48

python-最好大学排名的相关文章

Python爬虫——定向爬取“中国大学排名网”

内容整理自中国大学MOOC——北京理工大学-蒿天-Python网络爬虫与信息提取 相关实战章节 我们预爬取的url如下 http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html 网页节选 在浏览器中读取网页源代码 可以 发现表格数据信息是直接写入HTML页面信息中,所以我们可以直接采取定向爬虫操作. 我们的整体设计思路如下: 1.从网络上获取大学排名网络内容 2.提取网页内容中信息到合适的数据结构 3.利用数据结构展示并输出结果 仔细观察可以发现

Python爬虫--2019大学排名数据抓取

Python爬虫--2019大学排名数据抓取 准备工作 输入:大学排名URL连接 输出:大学排名信息屏幕输出 所需要用到的库:requests,bs4 思路 获取网页信息 提取网页中的内容并放到数据结构中 利用数据结构展示并输出结果 程序设计 定义函数getHTMLText()获取网页信息 定义函数UnivList()放入数据结构 定义函数printUnivList()输出到屏幕 总体而言: 写出需要自定义的函数,制作出总体的框架 写出主函数框架,实现功能 最后调用函数 步骤 查看url源代码

python爬虫入门---第二篇:获取2019年中国大学排名

我们需要爬取的网站:最好大学网 我们需要爬取的内容即为该网页中的表格部分: 该部分的html关键代码为: 其中整个表的标签为<tbody>标签,每行的标签为<tr>标签,每行中的每个单元格的标签为<td>标签,而我们所需的内容即为每个单元格中的内容. 因此编写程序的大概思路就是先找到整个表格的<tbody>标签,再遍历<tbody>标签下的所有<tr>标签,最后遍历<tr>标签下的所有<td>标签, 我们用二维

python,网络爬虫完整示例代码--抓取中国最好大学排名网站信息,并进行输出显示

import requests,bs4 from bs4 import BeautifulSoup def getHTMLText(url): try: r=requests.get(url) r.raise_for_status() r.encoding=r.apparent_encoding return r.text except: print("request failed") def getObjectData(soup): li=[] for tr in soup.find

自己设计大学排名-数据库实践

1.有关MongoDB库的学习报告 Python有很多库,现在我们来学习MongoDB库 (1)MongoDB的概念 MongoDB基本概念是文档.集合.数据库.如下表: SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 column field 数据字段/域 index index 索引 table joins 表连接,MongoDB不支持 prima

爬取中国大学排名

我们需要爬取2019年中国内地的大学排名,这里以物理学科为例,http://www.zuihaodaxue.cn/BCSR/wulixue2019.html. 这个页面比较简单爬取难度不大,这里我们使用python的requests,bs4,BeautifulSoup库,关于BeatutifulSoup库的文档可以在这个网站查询https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/ 先定义一个get函数来爬取相关信息 def get(url): tr

spark学习进度7-Python爬取大学排名实例

利用pc编写python爬取大学排名的数据,如图: import requests from bs4 import BeautifulSoup import bs4 def getHTMLText(url): try: r = requests.get(url, timeout=30) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except: return "" def fillUnivLis

美国大学排名之本科中最用功的学校top15

美国大学排名之本科中最用功的学校top15 威久留学2016-07-29 13:15:59美国留学 留学新闻 留学选校阅读(490)评论(1) 去美国留学的同学可能都知道USnews美国大学排名,但是大家听过还有最用功学校排名吗?下面我们随威久留学专家来看看美国大学排名之本科中最用功的学校有哪些吧! 1.麻省理工学院Massachusetts Institute of Technology 关键词:艰辛.紧张.神奇.充实 地理位置:Cambridge, Massachusetts 得分: 100

也谈大学排名--为了那些即将伤透脑筋报志愿的家长

也谈大学排名--为了那些即将伤透脑筋报志愿的家长

大学排名爬取

逻辑思路是什么? 1. 获取页面 2. 处理页面,提取信息 3. 格式输出 先走面向过程编程: 1. 要定义3个函数,对应以上三个过程 2. 在__main__函数中传入参数,并执行以上三个过程 #!/usr/bin/python3 import bs4 import requests from bs4 import BeautifulSoup def getHTMLText(url): '''获取页面''' try: r = requests.get(url, timeout=30) r.ra