python爬虫技术路线_爬虫学习——中国大学最好排名(技术路线:requests库和bs4)(来源于北理工Python网络爬虫与信息提取网络公开课)...
"中国大学排名"定向爬虫示例
课程地址: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网络爬虫与信息提取网络公开课)...相关推荐
- Python网络爬虫及数据可视化(软科中国大学专业排名|计算机科学与技术)
设计内容: 对中国大学专业排名网站中2021年,计算机科学与技术专业,进行数据爬取和数据可视化. URL地址:https://www.shanghairanking.cn/rankings/bcmr/ ...
- 学堂在线python面向对象程序设计试题_面向对象程序设计-中国大学mooc-试题题目及答案...
面向对象程序设计-中国大学mooc-试题题目及答案 更多相关问题 [单选题]下面属于"新现实主义"社会题材的影片有( ). A. <小偷家族> B. <偷自行车的 ...
- python 归一化feed-dict程序代码_深度学习-中国大学mooc-题库零氪
第一讲 人工智能导论 2.29日考勤 1.以下关于深度学习和机器学习的关系,描述正确的是: A.机器学习的范畴包含深度学习: B.深度学习的范畴包含机器学习: C.二者没有关系: D.二者等同. 第三 ...
- qq浏览器打开word 技术原理_实操:QQ群排名技术原理
想必大家都创建过QQ,但是就是没有排名没人加最后放弃了,不活跃,今天教大家如何弄活一个QQ群,让说话以及加群的人变多. 直奔主题说影响群排名的因素及原理: 第一点:群等级压制 重要程度:★★★★★ Q ...
- 第一个爬虫程序之定向爬取中国大学排名(收获良多,不仅仅是写个程序,更是编程的步骤方法)
第一个爬虫程序之定向爬取中国大学排名(收获良多,不仅仅是写个程序,更是编程的想法) 名称:定向爬取--中国大学排名定向爬取 首先,爬之前,看看你要定向爬取的网站和数据是什么类型的? 打开你要爬取网站, ...
- 【网络爬虫入门01】应用Requests和BeautifulSoup联手打造的第一条网络爬虫
[网络爬虫入门01]应用Requests和BeautifulSoup联手打造的第一条网络爬虫 广东职业技术学院 欧浩源 2017-10-14 1.引言 在数据量爆发式增长的大数据时代,网络与用户的沟 ...
- 小猪的Python学习之旅 —— 10.三分钟上手Requests库
小猪的Python学习之旅 -- 10.三分钟上手Requests库 标签:Python 一句话概括本文: 本节讲解Requests库的常见使用,以及一个实战项目: 扒取某一篇微信文章里所有的图片,视 ...
- 相对舒适的爬虫入门系列(一):手快尝鲜【requests库】
一.实现爬虫命令的交互前,总是要经过环境配置的 (虽然不同系统操作层面上会有不同,本文主要讲方向性内容(配置环境)+一些具体实操代码上手,要问咱也先说咱的环境是win10哈) 1.请直接下载安装Ana ...
- 北京计算机数字媒体技术大学排名,学习数字媒体技术在北京有哪些好大学,排名?...
学习数字媒体技术在北京有哪些好大学,排名?,一.学习数字媒体技术在北京有哪些好大学,排名?一.北京大学传媒学院:二.中国传媒大学北京邮电大学.北京工业大学.[2014年全国高校数字媒体技术专业排名(前 ...
最新文章
- 【转】Office 2003 EXCEL多窗口打开
- 干掉耐克的,绝不会是下一个耐克?
- 好长时间没有到博客园来看看了
- php商城的购物车功能,php实现购物车功能(以大苹果购物网为例)
- 实战jvisualvm
- 换把人体工学椅,缓解久坐写代码的老腰吧~
- AI制作ICON流程
- Windows7安装教程
- 如何修改搜索关键词内容
- python中的ln函数_python中的对数log函数表示及用法
- Windows相关产品密钥
- 高中数学培训高一数学提分技巧
- 使用新浪微博开发者平台的第一步---注册
- SPI专题(二)——STM32驱动FLASH(W25Q64)
- IOS端 vux中scroll滚动自动回弹到顶部或者左侧的解决办法
- fla文件中切记不能使用TLF文本
- 互联网金融的信息安全(一)新环境的安全形势
- 导师为了让大弟子毕业,不得已自写论文...
- 「CSA49」Bunny on Number Line
- [真诚的思考](http://simplemind.info/blog/?p=423)
热门文章
- 来,看看这20个常用的宏定义!
- android litepal可以指定存储目录吗,Android数据库LitePal的基本用法详解
- VHDL基本门电路和数值比较器的设计
- mysql 设计两个主键都不可重复_18个MySQL面试题剖析(答案解析),听说身为程序员的你还没掌握...
- matlab中的tfrwv函数,求助,关于时频分布的
- ttc error oracle,ORA-03137: TTC protocol internal error : [12333]错误一例
- kali中安转python3_Kali环境下安装Python3.7
- Codeforces Round #581 (Div. 2)
- java基础(1)-几种获取类的扩展方式
- unittest所有断言方法