用python爬取中国大学排名网站排名信息

程序解决问题如下:

利用python网络爬虫爬取中国大学排名网站上的排名信息,将排名前20的大学的信息保存为文本文件,并在窗口打印出这20所大学的信息,按列打印和保存。

程序代码如下:

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 fillUnivList(ulist, html):
    soup = BeautifulSoup(html, "html.parser")
    for tr in soup.find('tbody').children:
        if isinstance(tr, bs4.element.Tag):
            tds = tr('td')
            hdfd = tds[0].find('div')
            tt = hdfd.string.split()
            ff = "".join(tt)
            attr = tds[1].find('a')
            hh = tds[4].string.split()
            hg = "".join(hh)
            shf=tds[2].text.split()
            shfn="".join(shf)
            ulist.append([ff, attr.string,shfn,hg])

def printUnivList(ulist, num):
    tplt = "{0:^10}\t{1:{4}^10}\t{2:^10}\t{3:^10}"
    print(tplt.format("排名","学校名称","省份","总分", chr(12288)))
    with open('save.txt', 'w+', encoding='utf-8') as f:
        f.write(tplt.format("排名","学校名称","省份","总分", chr(12288)))
        f.write('\n')
    for i in range(num):
        u = ulist[i]
        print(tplt.format(u[0], u[1], u[2],u[3],chr(12288)))
        with open('save.txt', 'a', encoding='utf-8') as f:
            f.write(tplt.format(u[0], u[1], u[2],u[3],chr(12288)))
            f.write('\n')

def main():
    with open('save.txt', 'w+', encoding='utf-8') as f:
        f.write("排名,学校,省份,总分\n")
        f.close()
    uinfo = []
    url = 'https://www.shanghairanking.cn/rankings/bcur/2021'
    html = getHTMLText(url)
    fillUnivList(uinfo, html)
    printUnivList(uinfo, 20)
main()

程序运行结果如下:

到此这篇关于用python爬取中国大学排名网站排名信息的文章就介绍到这了,更多相关python爬取中国大学排名信息内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

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

    本文实例为大家分享了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.encodi

  • python随机打印成绩排名表

    本文实例为大家分享了python随机打印一张成绩排名表的具体代码,供大家参考,具体内容如下 有五个学生,姓名自行添加,有三门考试:语文.数学.英语,随机为这10个同学生成分数[50,100],需求:打印一张成绩排名表. 代码如下: import random import string list_index=["名次","学号","姓名","语文","数学","英语","总分&

  • 利用Python制作动态排名图的实现代码

    大家好,今天我们要讲的是如何使用 Pyecharts 制作动态排名变化图:point_down: 制作这样的一个动态图使用到的是 Pyecharts中的TimeLine(时间线轮播图) ,代码实现起来其实稍有难度,但我希望能 通过讲解这样一张动态图的制作过程,来让各位读者可以使用Pyecharts将任何一种图动起来 ,我们开始吧! 首先我们需要思考一下这样一种 动态图的生成逻辑 ,不就是把每天的数据制作成一张条形图然后轮动吗,OK那我们的 数据要整理成啥样 呢? 一个dataframe,每列是一

  • python爬取bilibili网页排名,视频,播放量,点赞量,链接等内容并存储csv文件中

    首先要了解html标签,标签有主有次,大致了解以一下,主标签是根标签,也是所有要爬取的标签的结合体 先了解一下待会要使用代码属性: #获取属性 a.attrs  获取a所有的属性和属性值,返回一个字典 a.attrs['href']   获取href属性 a['href']   也可简写为这种形式   #获取内容 a.string      获取a标签的直系文本 注意:如果标签还有标签,那么string获取到的结果为None,而其它两个,可以获取文本内容 a.text  这是属性,获取a子类的所

  • 用python爬取中国大学排名网站排名信息

    程序解决问题如下: 利用python网络爬虫爬取中国大学排名网站上的排名信息,将排名前20的大学的信息保存为文本文件,并在窗口打印出这20所大学的信息,按列打印和保存. 程序代码如下: 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.app

  • python爬取安居客二手房网站数据(实例讲解)

    是小打小闹 哈哈,现在开始正式进行爬虫书写首先,需要分析一下要爬取的网站的结构:作为一名河南的学生,那就看看郑州的二手房信息吧! 在上面这个页面中,我们可以看到一条条的房源信息,从中我们发现了什么,发现了连郑州的二手房都是这么的贵,作为即将毕业的学生狗惹不起啊惹不起 还是正文吧!!!由上可以看到网页一条条的房源信息,点击进去后就会发现: 房源的详细信息.OK!那么我们要干嘛呢,就是把郑州这个地区的二手房房源信息都能拿到手,可以保存到数据库中,用来干嘛呢,作为一个地理人,还是有点用处的,这次就不说

  • python 爬取免费简历模板网站的示例

    代码 # 免费的简历模板进行爬取本地保存 # http://sc.chinaz.com/jianli/free.html # http://sc.chinaz.com/jianli/free_2.html import requests from lxml import etree import os dirName = './resumeLibs' if not os.path.exists(dirName): os.mkdir(dirName) headers = { 'User-Agent

  • Python爬取成语接龙类网站

    介绍 本文将展示如何利用Python爬虫来实现诗歌接龙. 该项目的思路如下: 利用爬虫爬取诗歌,制作诗歌语料库: 将诗歌分句,形成字典:键(key)为该句首字的拼音,值(value)为该拼音对应的诗句,并将字典保存为pickle文件: 读取pickle文件,编写程序,以exe文件形式运行该程序. 该项目实现的诗歌接龙,规则为下一句的首字与上一句的尾字的拼音(包括声调)一致.下面将分步讲述该项目的实现过程. 诗歌语料库 首先,我们利用Python爬虫来爬取诗歌,制作语料库.爬取的网址为:https

  • Python实现爬取需要登录的网站完整示例

    本文实例讲述了Python爬取需要登录的网站实现方法.分享给大家供大家参考,具体如下: import requests from lxml import html # 创建 session 对象.这个对象会保存所有的登录会话请求. session_requests = requests.session() # 提取在登录时所使用的 csrf 标记 login_url = "https://bitbucket.org/account/signin/?next=/" result = se

  • python爬取m3u8连接的视频

    本文为大家分享了python爬取m3u8连接的视频方法,供大家参考,具体内容如下 要求:输入m3u8所在url,且ts视频与其在同一路径下 #!/usr/bin/env/python #_*_coding:utf-8_*_ #Data:17-10-08 #Auther:苏莫 #Link:http://blog.csdn.net/lingluofengzang #PythonVersion:python2.7 #filename:download_movie.py import os import

  • Python爬取国外天气预报网站的方法

    本文实例讲述了Python爬取国外天气预报网站的方法.分享给大家供大家参考.具体如下: crawl_weather.py如下: #encoding=utf-8 import httplib import urllib2 import time from threading import Thread import threading from Queue import Queue from time import sleep import re import copy lang = "fr&qu

  • 用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X

    一.获取url 打开中国教育在线网,按 F12,顶部选择NetWork,选择XHR 刷新页面,观察url,通过对Reponse的分析找到真正的url为:https://api.eol.cn/gkcx/api/ 数据存储在Json中. 再点击Headers,查看请求参数 请求方式为POST 二.发送请求 拿到url,我们就可以利用requests模拟浏览器发送请求,拿到返回的Json数据.代码如下: # 导入包 import numpy as np import pandas as pd impo

随机推荐