#!/usr/bin/env python
#coding: utf8
#python2
#Beautiful选择器
from bs4 import BeautifulSoup
html_doc = """
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="sister"><b>$37</b></p><p class="story" id="p">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" >Elsie</a>,
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
and they lived at the bottom of a well.</p><p class="story">...</p>
"""soup = BeautifulSoup(html_doc,'lxml')
#遍历文档树
#1.直接使用 重点
print(soup.html)
print(type(soup.html))
print(soup.a)
print(soup.p)#2.获取标签的名称
print(soup.a.name)#3.获取标签的属性 重点
print(soup.a.attrs) #获取a标签中的所有属性
print(soup.a.attrs['href'])#4.获取标签的文本内容 重点
print(soup.a.text)#5.嵌套选择
print(soup.html.body.p)#6.子节点、子孙节点
print(soup.p.children) #返回迭代器对象
print((list(soup.p.children)))#7.父节点、祖先节点
print(soup.b.parent)
print(soup.b.parents)
print(list(soup.b.parents))#8.兄弟节点
print(soup.a)
#下一个兄弟节点
print(soup.a.next_sibling)#获取下一个兄弟的所有节点,返回的是一个生成器
print(soup.a.next_siblings)
print(list(soup.a.next_siblings))#获取上一个兄弟节点
print(soup.a.previous_sibling)
#获取上一个的所有兄弟节点,返回的是一个生成器
print(list(soup.a.previous_siblings))

转载于:https://www.cnblogs.com/zxdhahaha/p/11128293.html

Beautiful选择器/遍历文档树Day3-7相关推荐

  1. python爬虫:BeautifulSoup_遍历文档树

    前提.回顾 1.因为最近工作中都是在跟XML格式的报文打交道:主要就是XML报文的解析.入库.在做自动化时,需要解析XML报文,前面虽然学习过下BeautifulSoup,结果这次在写脚本时,突然发现 ...

  2. Python : Beautiful Soup修改文档树

    修改文档树 Beautiful Soup的强项是文档树的搜索,但同时也可以方便的修改文档树 修改tag的名称和属性 在 Attributes 的章节中已经介绍过这个功能,但是再看一遍也无妨. 重命名一 ...

  3. Python爬虫遍历文档树

    1.直接子节点:.contents .children属性 .content Tag的.content属性可以将Tag的子节点以列表的方式输出 from bs4 import BeautifulSou ...

  4. Python 爬虫利器 Beautiful Soup 4 之文档树的搜索

    前面两篇介绍的是 Beautiful Soup 4 的基本对象类型和文档树的遍历, 本篇介绍 Beautiful Soup 4 的文档搜索 搜索文档树主要使用两个方法 find() 和 find_al ...

  5. DOM文档树和节点操作

    1 DOM文档树 1.1 DOM的定义(document object modle) DOM就是文档对象模型. /* 查看这段HTML代码中p的DOM模型 */ <html><hea ...

  6. ​​​​​​​​​​​​​​使用dom方式遍历文档||获取元素||从元素中获取数据

    使用dom方式遍历文档 获取元素 根据id查询元素getElementById 根据标签获取元素getElementsByTag 根据class获取元素getElementsByClass 根据属性获 ...

  7. CorelDRAW VBA - 遍历文档、页面、图层和形状对象

    目的 本文介绍CorelDRAW VBA代码遍历文档.页面或图层中所有对象的相关操作代码,有时候程序可能需要查找页面上的对象,用遍历的方式可实现批量查找.检索对象. 准备文档 创建1个新文档,添加两个 ...

  8. xml学习(2)xml文档树结构图

    XML 文档形成一种树结构 XML 文档必须包含根元素.该元素是所有其他元素的父元素. XML 文档中的元素形成了一棵文档树.这棵树从根部开始,并扩展到树的最底端. 所有元素均可拥有子元素: < ...

  9. html选择器与文档流基本介绍

    html选择器与文档流 [任务一]什么是html,它有哪些部分组成,每个部分之间的关系是什么? [任务二]选择器有哪些?选择的权重? [任务三]文档流:块元素与行内元素 HTML 是用来描述网页的一种 ...

  10. python 打印xml文档树_[Python]xml.etree.ElementTree处理xml文档

    需求: 在实际应用中,需要对xml配置文件进行实时修改, 1.增加.删除 某些节点 2.增加,删除,修改某个节点下的某些属性 3.增加,删除,修改某些节点的文本 xml源文件格式[例] path=&q ...

最新文章

  1. Fragment注入漏洞(CVE-2013-6271)检测
  2. Jacobi迭代法与Gauss-Seidel迭代法
  3. 训练日志 2019.1.31
  4. PYTHON网络爬虫与信息提取[网络爬虫协议](单元二)
  5. 组态王曲线控件读取access_组态王,历史趋势曲线控件例程说明文档
  6. iOS 后台运行实现总结
  7. 软件项目估算永远不准怎么办?钱少时间紧未必是坏事
  8. Java Logging之JUL系列——Handler
  9. 5V输入升压14.4V四串磷酸铁锂电池充电芯片板 ,12.8V-32号电路板
  10. 比犀利哥更经典的话语
  11. treeGrid插件
  12. Matlab绘制区域图
  13. Linux编程技术总结
  14. vue实现大文件分片上传断点续传并展示上传进度条
  15. 既有内网又有外网的网络如何设置路由器模式
  16. Dart - function
  17. UCI计算机工程必修专业课,想问问加州大学欧文分校计算机工程专业怎么样?
  18. 2022, GECCO,Taylor Genetic Programming for Symbolic Regression
  19. Qt Quick无边框窗口
  20. 贝叶斯理论中的prior, likelihood, posterior即先验概率,似然,后验概率

热门文章

  1. 21个js 技巧收藏
  2. 重新开始我的blog内容!
  3. 使用 pandas读取 excel 文件的数据
  4. 【IJCAI2021】长文本知识抽取:基于语义分割的文档级三元组关系抽取
  5. 宾大最新《图神经网络》课程,附视频与课件
  6. 【干货】22道机器学习常见面试题目
  7. 十大经典算法_家庭用电预测:线性回归算法(时间与功率功率与电流之间的关系)
  8. 每日算法系列【LeetCode 881】救生艇
  9. 数据科学包8-pandas高级内容之聚合统计
  10. 详解云安全攻防模型,这些攻击战略和战术越早知道越好!