#!/usr/bin/env python3
#-*- coding:utf-8 -*-
############################
#File Name: zuihaodaxuepaiming.py
#Author: frank
#Mail: frank0903@aliyun.com
#Created Time:2018-05-15 21:45:55
############################ import requests
from bs4 import BeautifulSoup #1. 获取html页面的内容
def getHTMLText(url):
try:
r = requests.get(url)
r.raise_for_status()
#r.encoding = r.apparent_encoding
r.encoding = 'utf-8'
return r.text except:
print("爬取异常")
return "" #2. 从html页面内容中爬取大学排名信息, (排名,学校名称,总分)
def getUnivInfo(uLst, html):
soup = BeautifulSoup(html, "lxml")
#获取排名中的大学的数量
print(len(soup.tbody.find_all("tr", recursive=False)))
#列出tbody的子节点
#for tag in soup.tbody.find_all('tr', recursive=False):
# #print("name:{},type:{}".format(tag.name, type(tag)))
# print(tag.td.string)
for tr in soup.tbody.find_all('tr', recursive=False,limit=1):
tds = tr('td')
#print(tr.prettify())
#print(tds)
#print(tds[0].string,tds[1].string, tds[3].string)
uLst.append([tds[0].string,tds[1].string, tds[3].string]) #3. 显示排名信息
#def printUnivInfo(uLst, num):
# print("{0:^10}\t{1:{3}^10}\t{2:^10}".format("排名","学校名称","总分",chr(12288)))
# for uni in uLst[0:num]:
# print("{0:^10}\t{1:{3}^10}\t{2:^10}".format(uni[0],uni[1],uni[2],chr(12288))) def printUnivInfo(uLst, num):
ptstr = "{0:^10}\t{1:{3}^10}\t{2:^10}"
print(ptstr.format("排名","学校名称","总分",chr(12288)))
for uni in uLst[0:num]:
print(ptstr.format(uni[0],uni[1],uni[2],chr(12288))) #中文字符的空格填充 chr(12288) def main():
url = "http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html"
uLst = []
html = getHTMLText(url)
#print(html)
print("getHTMLText")
getUnivInfo(uLst, html)
print("getUnivInfo")
printUnivInfo(uLst, 10) main()

该实例主要是针对 requests 和 BeautifulSoup的应用。

python之中国大学爬虫的更多相关文章

  1. Python之爬虫-中国大学排名

    Python之爬虫-中国大学排名 #!/usr/bin/env python # coding: utf-8 import bs4 import requests from bs4 import Be ...

  2. python爬虫学习心得:中国大学排名(附代码)

    今天下午花时间学习了python爬虫的中国大学排名实例,颇有心得,于是在博客园与各位分享 首先直接搬代码: import requests from bs4 import BeautifulSoup ...

  3. python网络爬虫-中国大学排名定向爬虫

    爬虫定向爬取中国大学排名信息 #!/usr/bin/python3 import requests from bs4 import BeautifulSoup import bs4 #从网络上获取大学 ...

  4. Python 中国大学排名定向爬虫

    代码来自于中国大学Mooc北京理工大学Pythont教学团队:https://www.icourse163.org/learn/BIT-1001870001#/learn/content?type=d ...

  5. 【python】下载中国大学MOOC的视频

    [python]下载中国大学MOOC的视频 脚本目标: 输入课程id和cookie下载整个课程的视频文件,方便复习时候看 网站的反爬机制分析: 分析数据包的目的:找到获取m3u8文件的路径 1. 从第 ...

  6. 中国大学MOOC课程信息爬取与数据存储

    版权声明:本文为博主原创文章,转载 请注明出处: https://blog.csdn.net/sc2079/article/details/82016583 10月18日更:MOOC课程信息D3.js ...

  7. 关于python的中国历年城市天气信息爬取

    一.主题式网络爬虫设计方案(15分)1.主题式网络爬虫名称 关于python的中国城市天气网爬取 2.主题式网络爬虫爬取的内容与数据特征分析 爬取中国天气网各个城市每年各个月份的天气数据, 包括最高城 ...

  8. 中国大学MOOC课程信息之数据分析可视化一

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/82263391 9月2日更:中国大学MOOC课程信息之数据分 ...

  9. Python初学者之网络爬虫(二)

    声明:本文内容和涉及到的代码仅限于个人学习,任何人不得作为商业用途.转载请附上此文章地址 本篇文章Python初学者之网络爬虫的继续,最新代码已提交到https://github.com/octans ...

随机推荐

  1. Foreach控件使用

    在SSIS中,Foreach控件可以循环处理选中的文件中的文件,例如sql文件,Excel文件等.下面就介绍一个比较经典的案例,将一个文件夹中包含的多个Excel文件循环导入至数据库中. 第一步:在数 ...

  2. fiddler在ios10.3系统抓包https失败原因解决

    一直是按照以往的设置抓包,设置代理ip,通过Safari下载安装证书,抓包https怎么显示证书无效呢?难道证书被apple设为黑名单了?google后发现,IOS10.3以后,安装了证书不是默认启用 ...

  3. VMware安装报VT-x未开启的解决办法

    摘自: http://www.bloomylife.com/?p=650 前段时间MSDN上放出WIN8最终版的ISO文件,心里一直痒痒.最近闲来无事,想体验下WIN8的魅力.考虑到新系统刚面世,在驱 ...

  4. R简易安装

    post={"title":"my Blog post","content":"Here's my blog post" ...

  5. 贯通Spark Streaming JobScheduler内幕实现和深入思考

    本节主要内容: 一.SparkStreaming Job生成深度思考 二.SparkStreaming Job生成源码解析 JobScheduler的地位非常的重要,所有的关键都在JobSchedul ...

  6. 在页面左右一个悬浮div兼容IE6 IE7 8 9 Firefox chrome

    在页面左右一个悬浮div兼容IE6 IE7 8 9 Firefox chrome #identifier-pannel { bottom: 345px; margin-left: 512px; pos ...

  7. java中调用kettle转换文件

    java中调用kettle转换文件 通过命令行也能够调用,然后java中调用命令行代码也能够.这样没有和java代码逻辑无缝集成.本文说明kettle5.1中假设通过其它API和java代码无缝集成: ...

  8. windows系统中常用的快捷键

    开发中,一些常用的键盘技巧: (1)快速切换桌面(alt+tab)或者是(window+tab) (2)迅速关闭当前页面 (3)迅速收起所有页面 (4)直接回到桌面页面 (5)锁定你的屏幕

  9. JMeter 十三:生成 report dashboard

    参考:http://jmeter.apache.org/usermanual/generating-dashboard.html JMeter 3.x开始,可以生成HTML格式的report . 注意 ...

  10. C# 字符串数组转换为整形数组

    /// <summary> /// 字符串数组转换整形数组 /// </summary> /// <param name="Content">字 ...