博客
关于我
【Python3 爬虫学习笔记】解析库的使用 4 —— Beautiful Soup 2
阅读量:761 次
发布时间:2019-03-21

本文共 1238 字,大约阅读时间需要 4 分钟。

BeautifulSoup 中父节点、祖先节点和兄弟节点操作

父节点和祖先节点

在BeautifulSoup中获取节点的父节点非常简单,可以通过节点的parent属性实现。每个节点都有一个父节点, Parents属性则返回该节点的所有祖先节点。

示例代码:

html = """

Elsie

"""from bs4 importBeautifulSoupsoup = BeautifulSoup(html, 'lxml')print(type(soup.a.parents))print(list(enumerate(soup.a.parents)))

示例输出:

[(0,

Elsie

兄弟节点

获取兄弟节点可以使用next_sibling``及其它相关属性。**next_sibling**和previous_sibling``获取的是下一个和上一个直接的兄弟节点,而next_siblings和previous_siblings则返回所有兄弟节点包括中间有其他元素的空节点。

示例代码:

html = """

Once upon a time there were little sisters; and their names were Elsie Hello Lacie and Tillie and they lived at the bottom of a well.

"""from bs4 import BeautifulSoupsoup = BeautifulSoup(html, 'lxml')print('Next Sibling', soup.a.next_sibling)print('Prev Sibling', soup.a.previous_sibling)print('Next Siblings', list(enumerate(soup.a.next_siblings)))print('Prev Siblings', list(enumerate(soup.a.previous_siblings)))

示例输出:

Next Sibling: HelloPrev Sibling: Once upon a time there were little sisters; and their names wereNext Siblings: [(0, '\n	Hello\n'), (1, Lacie), (2, '\n	and\n'), (3, Tillie), (4, '\n	and they lived at the bottom of a well.\n')]Prev Siblings: [(0, '\n	Once upon a time there were little sisters; and their names were\n')]

转载地址:http://csyrz.baihongyu.com/

你可能感兴趣的文章
python3 文本变图片
查看>>
Python3 查看 com 组件的属性
查看>>
python3 案例分享--发邮件
查看>>
python3 模板库_Python3 标准库概览_Python教程_我爱模板网 - 提供下载各种免费建站资源,免费网站模板,免费网页特效,让你爱上建站!...
查看>>
Python3 求最大/小值及索引值 Numpy
查看>>
python3+django使用celery执行某些任务失败的解决方案
查看>>
Python3+Requests+Unittest实战系列【一】
查看>>
python3+requests+unittest实战系列【一】
查看>>
python3+requests+unittest实战系列【二】
查看>>
Python3+Requests+Unittest实战系列【二】
查看>>
python3----ASCII
查看>>
Python3-selenium自动化测试框架,结合HTMLTestRunner测试报告!
查看>>
Python3-如何自我更新作为服务运行的应用程序
查看>>
Python3.1-网格模拟概念性问题
查看>>
Python3.12 解决conda环境libstdc++版本过低问题
查看>>
python3.2批量查询IP地址区域
查看>>
Python3.5中协程和未来/任务之间的区别?
查看>>
python3.5实现socket通讯(TCP)
查看>>
python3.6 ubuntu部署nginx、 uwsgi、 django
查看>>
Python3.6.3中,functools似乎不能用
查看>>