快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → python Beautiful Soup常用过滤方法

python Beautiful Soup常用过滤方法

时间:2022-05-09 12:04:24人气:作者:快盘下载我要评论
1.beautiful soup

from bs4 import BeautifulSoup
soup = BeautifulSoup('<p>Hello</p>','lxml')//倒入需要解析的文件字符串

print(soup.p.string)

打印的结果是Hello

节点选择器

soup.title/p/head
获取P标签内容

标准格式输出页面

soup.prettify()

获取属性内容

soup.title.name #获取到的为标签名称,比如这个结果是title

获取属性

soup.p['name']
此方式获取的是p标签中name属性的值,比如要获取src的值,就把name改为src

嵌套选择

soup.head.title
表示获取head节点中的title节点

关联选择

1 子节点和子孙节点
soup.p.contents #获取到的是p标签的子节点所有内容
如果要单独获取每一个子节点数据
for i,child in enumerate(soup.p.children)
printable(i,child)
会打印出所有子节点数据
2.父节点
soup.p.parents

3.兄弟节点

soup.p.next_siblings 下一个兄弟节点
soup.p.previous_siblings 上一个兄弟节点

方法选择器

find_all(name,attrs,recursive,text,**kwargs)
例如

1. soup.find_all(name='ul')

得到的是所有标签名字为ul的标签数据
soup.find_all(name='li')
得到的是所有标签名字为li的标签数据

2.attrs 根据属性查询结果

soup.find_all(attrs={'id':'list-1'})//查询id为list-1的节点,此处会打印所有子节点

soup.find_all(attrs={'name':'elements'})//查询name为elements的节点,此处会打印所有子节点

对于一些常用的属性,比如id和class,可以不用attrs
例如
soup.find_all(id='list-1')
soup.find_all(class_='element')//由于class在python是一个关键字,所以需要加上下划线

3. text 根据文本匹配

soup.find_all(text=re.compile('link'))
匹配所有文字包含link的信息,此处不是节点,是直接匹配节点的文字

<a>hello,this is a link</a>

结果为hello,this is a link

4,兄弟节点,父节点匹配

find_parents()和find_parent()前者返回祖先节点,后者返回父节点

find_next_siblings()和find_next_sibling(),前者返回所有下一个兄弟节点,后者返回第一个上一个兄弟节点

find_all_next()和find_next()其职能和返回节点后所有符合条件的节点,后者返回第一个符合条件的节点

CSS选择器

soup.select('.panel .panel-heading') 获取class panel 标签下的 panel-heading class标签
soup.elect('ul li') ul li标签
soup.select('#list-2 .element') id为list -2 下 class 为element标签

soup.select('ul')[0] ul标签下地0个标签

同样支持嵌套选择

获取属性和之前类似
soup.select('.panel')[0]['src']

到现在为止所有beautiful soup常用匹配结束 ,有错误欢迎指出,不是每个例子都验证过

相关文章

  • 常用网络命令和端口

    常用网络命令和端口,了解常用的网络服务端口号掌握常见网络命令及使用场景工程师天天使用计算机做软件开发,有时候出了问题需要确定到底是自己的问题,还是网络的问题。所以学习并了解一些常见的计算机命令和开发中常用的端口,对开发工作会有很多实际的帮助。...
  • Linux-Mint系统常用软件安装

    Linux-Mint系统常用软件安装,常见软件在linux mint上的安装...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。