练习基础爬虫。对应的URL:http://www.zuihaodaxue.com/zuihaodaxuepaiming2018.html

分析:

先获取对应的全部代码:

查看一下获取了什么:

主函数中把其他的函数屏蔽掉。仅仅运行获取源代码所对应的函数:

结果:

总之很多!

接下来就研究别的!

稍微核心点的代码:

def filllist(ulist,html):n = 1soup = BeautifulSoup(html,"html.parser")for tr in soup.find('tbody').children:if isinstance(tr, bs4.element.Tag):#1.isinstance:判断一个对象是否是一个已知的类型,类似于type()#上面的isinstance函数类似检查类型!tds = tr('td')#存储为列表类型!if n == 1:print('tds类型:'+str(type(tds)))n += 1ulist.append([tds[0].string, tds[1].string, tds[2].string, tds[3].string])#tds是刚才存储的所有td标签所对应的内容。if n == 2:print(type(ulist))n += 1print(ulist[:6])

其中,

for tr in soup.find('tbody').children:
为递归寻找所有符合条件的tr标签。

tds类型:tds类型:<class 'bs4.element.ResultSet'>

ulist.append([tds[0].string, tds[1].string, tds[2].string, tds[3].string])追加数据。

解决对齐:

输出未对齐是因为,中英文空格大小不一致所导致的!

那么使用中文空格进行填充即可解决问题:

chr(12288)
tplt = "{0:^10}\t{1:{3}^10}\t{2:^10}"
#{3}:表示用第三个参数进行填充!

总体代码:

import requests
import re
from bs4 import BeautifulSoup
import bs4
def gethtmltxt(url):try:r = requests.get(url,timeout = 30)r.raise_for_status()r.encoding = r.apparent_encodingprint('获取到的全部内容!')# print(r.text)return r.textexcept:print('error')return ""
def filllist(ulist,html):n = 1soup = BeautifulSoup(html,"html.parser")for tr in soup.find('tbody').children:if isinstance(tr, bs4.element.Tag):#1.isinstance:判断一个对象是否是一个已知的类型,类似于type()#上面的isinstance函数类似检查类型!tds = tr('td')#存储为列表类型!if n == 1:print('tds类型:'+str(type(tds)))n += 1ulist.append([tds[0].string, tds[1].string, tds[2].string])#tds是刚才存储的所有td标签所对应的内容。if n == 2:print(type(ulist))n += 1print(ulist[:6])
def printlist(ulist,num):tplt = "{0:^10}\t{1:{3}^10}\t{2:^10}"#{3}:表示用第三个参数进行填充!print(tplt.format("1","2","3",chr(12288)))for i in range(num):u = ulist[i]print(tplt.format(u[0], u[1], u[2],chr(12288)))#上面这个输出,功能是格式化输出!
def main():uinfo = []url = "http://www.zuihaodaxue.com/zuihaodaxuepaiming2018.html"html = gethtmltxt(url)filllist(uinfo,html)printlist(uinfo,20)print('see--uinfo')# print(uinfo)
main()

结果:

再次学习基础爬虫,爬取大学排名。相关推荐

  1. python爬虫爬取大学排名并存入数据库进行数据可视化

    这是本人的期末大作业,题目要求如下: 对中国大学专业排名网站中2021年,计算机科学与技术专业,进行数据爬取和数据可视化. URL地址:https://www.shanghairanking.cn/r ...

  2. python实例,python网络爬虫爬取大学排名!

    源代码: import requests from bs4 import BeautifulSoup import bs4def getHTMLText(url):try:r = requests.g ...

  3. Jsoup学习 JAVA爬虫爬取美女网站 JAVA爬虫爬取美图网站 爬虫

    最近对爬虫起了兴趣,但是网上都说做爬虫最好得语言是py.但是我只会java,所以就想能不能用java实现一个爬虫,百度搜索发现,其实java也有很多优秀得开源爬虫框架,包括Gecco,webmagic ...

  4. Python爬虫学习 6 —— 使用bs4库爬取大学排名

    前面学了如何使用beautifulsoup,现在来尝试简单的爬取:中国大学排名 一.准备 查看Robots协议:robots协议 功能描述 输入:大学排名的url链接 输出:大学排名信息(排名,大学名 ...

  5. 爬取大学排名和NBA球星数据并进行多维度可视化

    opexcel 模块地址:https://blog.csdn.net/wei_zhen_dong/article/details/105318970 import requests from lxml ...

  6. 跟潭州学院的强子老师学习网络爬虫---爬取全书网

    真是太白了,python之路还有很长,今天我从这里开始,留作自己备忘.2018-04-05 花了一个下午学习个爬小说的,总的来说是因为自己没什么基础,哪里不会补哪里,磕磕绊绊的,总算是能运行,先把代码 ...

  7. python学习笔记爬虫——爬取智联招聘信息

    目的:自己输入指定地方,指定职业,起始页数,程序会自动打印页面的所有信息. 实现过程:这次程序的代码跟以往的都不一样,这次也是我第一次使用面向对象式编程,并且并不是分析网页代码,分析json字符串得到 ...

  8. 爬虫爬取最好大学排名

    ☞☞☞点击查看更多优秀Python博客☜☜☜ 爬虫爬取最好大学排名 **程序设计思路:** 代码细节分析 得到源代码函数分析 得到特定的tr标签函数分析 ==**文章导航:==** 最近跟着北京理工大 ...

  9. 爬虫爬取中国大学排名top100并简单可视化分析

    爬虫爬取中国大学排名top100并简单可视化分析. 目标链接 http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html 实践环境 pycharm201 ...

最新文章

  1. 20170804 - 今日技能封装 - Q
  2. CentOS 下线,TencentOS Server 全新登陆带来最强支持
  3. 带权中位数-算法导论第三版第九章思考题9-2
  4. Java集合unmodifiableSortedSet()方法(带示例)
  5. 自定义按钮动态变化_新闻价值的变化定义
  6. 两台虚拟服务器如何级联,[教程] 利用open vswitch建立vxlan隧道实现不同主机上的虚拟交换机级联...
  7. [cerc2012][Gym100624A]20181013
  8. Hibernate 中upate,savaOrUpdate,merge的区别
  9. 旧的非flash版Metalink的入口
  10. P3223 [HNOI2012]排队
  11. eclipse 使用心得
  12. C/C++ 解决sizeof求结构体大小(结构体内存对齐)
  13. Java程序员的第一个Python小程序:京东畅销书榜爬虫
  14. mysql关系范式试题_数据库范式练习题
  15. python问题 Traceback (most recent call last)
  16. 【转载】客单价是什么意思?如何提高客单价?
  17. EMI-EMC设计注意事项
  18. 你是工作狂?也许你只是”工作上瘾“了
  19. 【机器翻译】机器翻译入门
  20. matlab rho是什么意思,rho(rho值是什么意思)

热门文章

  1. 一文讲透推荐系统提供web服务的2种方式
  2. 如何正确选择聚类算法? | CSDN博文精选
  3. 从这篇YouTube论文,剖析强化学习在工业级场景推荐系统中的应用
  4. 优化思路千万种,基于下界函数的最优化效率如何?
  5. 自动驾驶公司Momenta完成超2亿美元融资,估值超10亿美元
  6. Nacos实现原理详解
  7. 贼好用的 Java 工具类库
  8. 脱口秀演员入职华为?破案了:人家还是博士后研究员
  9. 如何给女朋友解释什么是“元宇宙”?
  10. 初学者必学的C++项目!花3天搞定