"中国大学排名"定向爬虫示例

课程地址:http://open.163.com/movie/2019/5/G/6/MEEMCM1NP_MEEU3UFG6.html

#功能描述:

#输入:大学排名URL链接

#输出:大学排名信息的屏幕输出(排名,大学名称,总分)

#使用技术:requests库和bs4

#定向爬虫:仅对输入URL进行爬取,不扩展爬取

#是否可以实现:查看网页源代码判断是否是静态页面

#查看robots协议:网页不存在(无robots协议)

'''

程序的结构设计:

1、从网络上获取大学排名网页内容——getHTMLText();

2、提取网页内容中信息到合适的数据结构——fillUnivList();

3、利用数据结构展示并输出结果——printUnivList()

'''

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')#查询

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

#num指打印多少个元素出来

def printUnivList(ulist,num):

#格式化输出

'''

中文字符宽度不够,系统用英文进行填充,导致对齐出现问题

print("{:^10}\t{:^6}\t{:^10}".format("排名","学校名称","总分"))

for i in range(num):

u=ulist[i]

print("{:^10}\t{:^6}\t{:^10}".format(u[0], u[1], u[2]))

采用中文字符的空格填充chr(12288)

'''

#优化后的格式化输出

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

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

for i in range(num):

u = ulist[i]

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

if __name__ == '__main__':

uinfo=[]#大学信息列表

url="http://www.zuihaodaxue.com/zuihaodaxuepaiming2016.html"

html=getHTMLText(url)

fillUnivList(uinfo,html)

printUnivList(uinfo,20)

python爬虫技术路线_爬虫学习——中国大学最好排名(技术路线:requests库和bs4)(来源于北理工Python网络爬虫与信息提取网络公开课)...相关推荐

  1. Python网络爬虫及数据可视化(软科中国大学专业排名|计算机科学与技术)

    设计内容: 对中国大学专业排名网站中2021年,计算机科学与技术专业,进行数据爬取和数据可视化. URL地址:https://www.shanghairanking.cn/rankings/bcmr/ ...

  2. 学堂在线python面向对象程序设计试题_面向对象程序设计-中国大学mooc-试题题目及答案...

    面向对象程序设计-中国大学mooc-试题题目及答案 更多相关问题 [单选题]下面属于"新现实主义"社会题材的影片有( ). A. <小偷家族> B. <偷自行车的 ...

  3. python 归一化feed-dict程序代码_深度学习-中国大学mooc-题库零氪

    第一讲 人工智能导论 2.29日考勤 1.以下关于深度学习和机器学习的关系,描述正确的是: A.机器学习的范畴包含深度学习: B.深度学习的范畴包含机器学习: C.二者没有关系: D.二者等同. 第三 ...

  4. qq浏览器打开word 技术原理_实操:QQ群排名技术原理

    想必大家都创建过QQ,但是就是没有排名没人加最后放弃了,不活跃,今天教大家如何弄活一个QQ群,让说话以及加群的人变多. 直奔主题说影响群排名的因素及原理: 第一点:群等级压制 重要程度:★★★★★ Q ...

  5. 第一个爬虫程序之定向爬取中国大学排名(收获良多,不仅仅是写个程序,更是编程的步骤方法)

    第一个爬虫程序之定向爬取中国大学排名(收获良多,不仅仅是写个程序,更是编程的想法) 名称:定向爬取--中国大学排名定向爬取 首先,爬之前,看看你要定向爬取的网站和数据是什么类型的? 打开你要爬取网站, ...

  6. 【网络爬虫入门01】应用Requests和BeautifulSoup联手打造的第一条网络爬虫

    [网络爬虫入门01]应用Requests和BeautifulSoup联手打造的第一条网络爬虫 广东职业技术学院 欧浩源 2017-10-14  1.引言 在数据量爆发式增长的大数据时代,网络与用户的沟 ...

  7. 小猪的Python学习之旅 —— 10.三分钟上手Requests库

    小猪的Python学习之旅 -- 10.三分钟上手Requests库 标签:Python 一句话概括本文: 本节讲解Requests库的常见使用,以及一个实战项目: 扒取某一篇微信文章里所有的图片,视 ...

  8. 相对舒适的爬虫入门系列(一):手快尝鲜【requests库】

    一.实现爬虫命令的交互前,总是要经过环境配置的 (虽然不同系统操作层面上会有不同,本文主要讲方向性内容(配置环境)+一些具体实操代码上手,要问咱也先说咱的环境是win10哈) 1.请直接下载安装Ana ...

  9. 北京计算机数字媒体技术大学排名,学习数字媒体技术在北京有哪些好大学,排名?...

    学习数字媒体技术在北京有哪些好大学,排名?,一.学习数字媒体技术在北京有哪些好大学,排名?一.北京大学传媒学院:二.中国传媒大学北京邮电大学.北京工业大学.[2014年全国高校数字媒体技术专业排名(前 ...

最新文章

  1. 【转】Office 2003 EXCEL多窗口打开
  2. 干掉耐克的,绝不会是下一个耐克?
  3. 好长时间没有到博客园来看看了
  4. php商城的购物车功能,php实现购物车功能(以大苹果购物网为例)
  5. 实战jvisualvm
  6. 换把人体工学椅,缓解久坐写代码的老腰吧~
  7. AI制作ICON流程
  8. Windows7安装教程
  9. 如何修改搜索关键词内容
  10. python中的ln函数_python中的对数log函数表示及用法
  11. Windows相关产品密钥
  12. 高中数学培训高一数学提分技巧
  13. 使用新浪微博开发者平台的第一步---注册
  14. SPI专题(二)——STM32驱动FLASH(W25Q64)
  15. IOS端 vux中scroll滚动自动回弹到顶部或者左侧的解决办法
  16. fla文件中切记不能使用TLF文本
  17. 互联网金融的信息安全(一)新环境的安全形势
  18. 导师为了让大弟子毕业,不得已自写论文...
  19. 「CSA49」Bunny on Number Line
  20. [真诚的思考](http://simplemind.info/blog/?p=423)

热门文章

  1. 来,看看这20个常用的宏定义!
  2. android litepal可以指定存储目录吗,Android数据库LitePal的基本用法详解
  3. VHDL基本门电路和数值比较器的设计
  4. mysql 设计两个主键都不可重复_18个MySQL面试题剖析(答案解析),听说身为程序员的你还没掌握...
  5. matlab中的tfrwv函数,求助,关于时频分布的
  6. ttc error oracle,ORA-03137: TTC protocol internal error : [12333]错误一例
  7. kali中安转python3_Kali环境下安装Python3.7
  8. Codeforces Round #581 (Div. 2)
  9. java基础(1)-几种获取类的扩展方式
  10. unittest所有断言方法