代码:

import requests
from bs4 import BeautifulSoup
r = requests.get("https://python123.io/ws/demo.html")
print(r.text)
print("\n")
demo = r.text
print(demo)
soup = BeautifulSoup(demo, "html.parser")
print("递归:\n")
print(soup.head)
print("\n")
print(soup.head.contents)
print("\n")
print('body is:\n'+str(soup.body))
print('body_content is:'+str(soup.body.contents))
print('数量:')
print(len(soup.body.contents))
print("查看一下第一个标签内容:")
print(soup.body.contents[1])#必须从一开始!

结果:

D:\python_install\python.exe D:/pycharmworkspace/temp1/crawler_1.py<p class="title"><b>The demo python introduces several python courses.</b></p><p class="course">Python is a wonderful general-purpose programming language. You can learn Python from novice to professional by tracking the following courses:
<a class="py1" href="http://www.icourse163.org/course/BIT-268001" id="link1">Basic Python</a> and <a class="py2" href="http://www.icourse163.org/course/BIT-1001870001" id="link2">Advanced Python</a>.</p>Process finished with exit code 0

先煲成一锅汤。然后利用:

soup = BeautifulSoup(demo, "html.parser")

进行解析。解析成为易读懂的样子:

<html><head><title>This is a python demo page</title></head>
<body>
<p class="title"><b>The demo python introduces several python courses.</b></p>
<p class="course">Python is a wonderful general-purpose programming language. You can learn Python from novice to professional by tracking the following courses:
<a class="py1" href="http://www.icourse163.org/course/BIT-268001" id="link1">Basic Python</a> and <a class="py2" href="http://www.icourse163.org/course/BIT-1001870001" id="link2">Advanced Python</a>.</p>
</body></html>

然后分别输出“title”,以及title的parent。.

比如:

print(soup.title):
<title>This is a python demo page</title>print(soup.title.parent):
<head><title>This is a python demo page</title></head>

如图:

标签的前序标签与后续标签:

import requests
from bs4 import BeautifulSoup
r = requests.get("https://python123.io/ws/demo.html")
demo = r.text
soup = BeautifulSoup(demo, "html.parser")
print('\na标签的前一个平行标签')
print(soup.a.previous_sibling)
print('\na标签的下一个平行标签')
print(soup.a.next_sibling)
print('\na标签的下一个平行标签的下一个平行标签')
print(soup.a.next_sibling.next_sibling)

结果:

D:\python_install\python.exe D:/pycharmworkspace/temp1/crawler_1.pya标签的前一个平行标签
Python is a wonderful general-purpose programming language. You can learn Python from novice to professional by tracking the following courses:a标签的下一个平行标签and a标签的下一个平行标签的下一个平行标签
<a class="py2" href="http://www.icourse163.org/course/BIT-1001870001" id="link2">Advanced Python</a>Process finished with exit code 0

OK

beautifulsoup关于标签的初学习相关推荐

  1. The Wide and Deep Learning Model(译文+Tensorlfow源码解析) 原创 2017年11月03日 22:14:47 标签: 深度学习 / 谷歌 / tensorf

    The Wide and Deep Learning Model(译文+Tensorlfow源码解析) 原创 2017年11月03日 22:14:47 标签: 深度学习 / 谷歌 / tensorfl ...

  2. 【JSTL】JSP 标准标签库JSTL学习

    JSTL 标签库 1.什么是JSTL 标签库 JSTL 是apache 对EL 表达式的扩展(也就是说JSTL 依赖EL),JSTL 是标签语言!JSTL 标签使用以来非常方便,它与JSP 动作标签一 ...

  3. css字符标签,【CSS学习】字符实体

    在html开发中,有一些字符,不适于直接写出,比如:大于号>小于号< 一般格式:&+实体名+; 实体有很多,记住常用的 大于号>小于号<双引号"人民币¥版权符 ...

  4. 消息队列(Message Query)的初学习

    消息队列(Message Query)的初学习   摘要:本篇笔记主要记录了对于消息队列概念的初次学习.消息队列的基础知识. 文章目录 消息队列(Message Query)的初学习 1.何为消息? ...

  5. 从零开始学前端:列表标签 --- 今天你学习了吗?(CSS:Day06)

    从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:表单制作 - 今天你学习了吗?(CSS:Day05) 文章目录 从零开始学前端:程序猿小白也可以完全掌握! ...

  6. python中图例legend标签内容_Python学习第87课-数据可视化之图形标识title、label、legend...

    [每天几分钟,从零入门python编程的世界!] 第86课我们学习了matplotlib,并且用它画了一个简单的图形,但是这个图形上面没有标题,没有标明x轴和y轴,而且用于画这个图形的数据都是我们手动 ...

  7. html标签(段落标签,换行标签,文本格式化标签和局部标签)-小白学习中

    html标签-2 4.段落标签 <p></p> 语义:可以把HTML文档分割成若干段. 特点:文本在一个段落中会根据浏览器窗口的大小自动换行. 段落和段落之间保有空隙. 5.换 ...

  8. 标签平滑深度学习:Google Brain解释了为什么标签平滑有用以及什么时候使用它(SOTA tips)​...

    点击上方"AI公园",关注公众号,选择加"星标"或"置顶" 作者:Less Wright 编译:ronghuaiyang 导读 标签平滑算是 ...

  9. 多标签分类的学习感悟

    多标签学习 问题来源 定义 背景 分类算法 应用前景 最新进展 博主也是刚开始接触多标签分类相关的学习,如果有不正确的地方希望大家指正 1.问题来源 多标签学习概念的提出源于文档分类中遇到的多义性问题 ...

最新文章

  1. 腾讯面试官用「B+树」虐哭我了
  2. mysql 获取距离当前最新的记录_一文带你了解 MySQL 中的各种锁机制!
  3. ArcEngine编辑功能的实现(二)
  4. inline hook __usercall 函数
  5. 【大数据】朴素的数据价值观
  6. RPM包及其管理 rpm命令
  7. python三级联动菜单_VUE+element三级联动或树形菜单获取最后一项,并加入到表格中...
  8. uniapp光标自动定义到文本框_特检自动化行吊静力检测方案
  9. threejs 反锯齿,raser,特效发光
  10. html5 数据懒加载图片,Jsoup+HtmlUnit获取懒加载数据
  11. java 堆_Java 对象都是在堆上分配内存吗?
  12. Windows之IOCP
  13. 阿里云总监课第四期:阿里褚霸携专家团独家分享弹性计算最佳实践
  14. java实行图片上写字
  15. AIX 6.1新功能 之RAS,虚拟化,存储及文件系统,网络增强,参数调整 (转帖)
  16. JAVA餐厅收银系统(JAVA毕业设计)
  17. Hbuildx 使用vue打包的App实现微信支付功能
  18. Android穿山甲SDK接入信息流广告
  19. 出土文物惊现WiFi信号:WiFi的影响
  20. c# json 按照key顺序排序。。。

热门文章

  1. 深度解析MegEngine亚线性显存优化技术
  2. “Hey Siri” 背后的黑科技大揭秘!
  3. 数据安全引担忧?get它,让你吃一颗“定心丸”
  4. 最新NLP架构的直观解释:多任务学习– ERNIE 2.0(附链接)| CSDN博文精选
  5. 马云:很多P2P公司披着互联网金融的外衣做非法金融服务
  6. 小姐姐带你一起学:如何用Python实现7种机器学习算法(附代码)
  7. 蓝绿发布、滚动发布、灰度发布,有什么区别?这下明白了
  8. Nginx 配置清单(一篇够用)
  9. 面试官问:服务的心跳机制与断线重连,Netty底层是怎么实现的?懵了
  10. Java生鲜电商平台-监控模块的设计与架构