beautifulsoup关于标签的初学习
代码:
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关于标签的初学习相关推荐
- 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 ...
- 【JSTL】JSP 标准标签库JSTL学习
JSTL 标签库 1.什么是JSTL 标签库 JSTL 是apache 对EL 表达式的扩展(也就是说JSTL 依赖EL),JSTL 是标签语言!JSTL 标签使用以来非常方便,它与JSP 动作标签一 ...
- css字符标签,【CSS学习】字符实体
在html开发中,有一些字符,不适于直接写出,比如:大于号>小于号< 一般格式:&+实体名+; 实体有很多,记住常用的 大于号>小于号<双引号"人民币¥版权符 ...
- 消息队列(Message Query)的初学习
消息队列(Message Query)的初学习 摘要:本篇笔记主要记录了对于消息队列概念的初次学习.消息队列的基础知识. 文章目录 消息队列(Message Query)的初学习 1.何为消息? ...
- 从零开始学前端:列表标签 --- 今天你学习了吗?(CSS:Day06)
从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:表单制作 - 今天你学习了吗?(CSS:Day05) 文章目录 从零开始学前端:程序猿小白也可以完全掌握! ...
- python中图例legend标签内容_Python学习第87课-数据可视化之图形标识title、label、legend...
[每天几分钟,从零入门python编程的世界!] 第86课我们学习了matplotlib,并且用它画了一个简单的图形,但是这个图形上面没有标题,没有标明x轴和y轴,而且用于画这个图形的数据都是我们手动 ...
- html标签(段落标签,换行标签,文本格式化标签和局部标签)-小白学习中
html标签-2 4.段落标签 <p></p> 语义:可以把HTML文档分割成若干段. 特点:文本在一个段落中会根据浏览器窗口的大小自动换行. 段落和段落之间保有空隙. 5.换 ...
- 标签平滑深度学习:Google Brain解释了为什么标签平滑有用以及什么时候使用它(SOTA tips)...
点击上方"AI公园",关注公众号,选择加"星标"或"置顶" 作者:Less Wright 编译:ronghuaiyang 导读 标签平滑算是 ...
- 多标签分类的学习感悟
多标签学习 问题来源 定义 背景 分类算法 应用前景 最新进展 博主也是刚开始接触多标签分类相关的学习,如果有不正确的地方希望大家指正 1.问题来源 多标签学习概念的提出源于文档分类中遇到的多义性问题 ...
最新文章
- 腾讯面试官用「B+树」虐哭我了
- mysql 获取距离当前最新的记录_一文带你了解 MySQL 中的各种锁机制!
- ArcEngine编辑功能的实现(二)
- inline hook __usercall 函数
- 【大数据】朴素的数据价值观
- RPM包及其管理 rpm命令
- python三级联动菜单_VUE+element三级联动或树形菜单获取最后一项,并加入到表格中...
- uniapp光标自动定义到文本框_特检自动化行吊静力检测方案
- threejs 反锯齿,raser,特效发光
- html5 数据懒加载图片,Jsoup+HtmlUnit获取懒加载数据
- java 堆_Java 对象都是在堆上分配内存吗?
- Windows之IOCP
- 阿里云总监课第四期:阿里褚霸携专家团独家分享弹性计算最佳实践
- java实行图片上写字
- AIX 6.1新功能 之RAS,虚拟化,存储及文件系统,网络增强,参数调整 (转帖)
- JAVA餐厅收银系统(JAVA毕业设计)
- Hbuildx 使用vue打包的App实现微信支付功能
- Android穿山甲SDK接入信息流广告
- 出土文物惊现WiFi信号:WiFi的影响
- c# json 按照key顺序排序。。。
热门文章
- 深度解析MegEngine亚线性显存优化技术
- “Hey Siri” 背后的黑科技大揭秘!
- 数据安全引担忧?get它,让你吃一颗“定心丸”
- 最新NLP架构的直观解释:多任务学习– ERNIE 2.0(附链接)| CSDN博文精选
- 马云:很多P2P公司披着互联网金融的外衣做非法金融服务
- 小姐姐带你一起学:如何用Python实现7种机器学习算法(附代码)
- 蓝绿发布、滚动发布、灰度发布,有什么区别?这下明白了
- Nginx 配置清单(一篇够用)
- 面试官问:服务的心跳机制与断线重连,Netty底层是怎么实现的?懵了
- Java生鲜电商平台-监控模块的设计与架构