1.Beautiful Soup

from bs4 import BeautifulSoup

soup = BeautifulSoup('

Hello

','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的信息,此处不是节点,是直接匹配节点的文字

hello,this is a link

结果为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常用匹配结束 ,有错误欢迎指出,不是每个例子都验证过

python soup attrs_python Beautiful Soup常用过滤方法相关推荐

  1. Python爬虫之Beautiful soup模块

    1.Beautiful soup与Xpath对比 相同点:用来解析HTML和XML,并从中提取数据 独有的特点: API简单,功能强大 支持多种解析器 自动实现编码的转换 2.Beautiful so ...

  2. python爬虫之Beautiful Soup库,基本使用以及提取页面信息

    一.Beautiful Soup简介 爬虫正则表达式参考:Python 爬虫正则表达式和re库 在爬虫过程中,可以利用正则表达式去提取信息,但是有些人觉得比较麻烦.因为花大量时间分析正则表达式.这时候 ...

  3. 【Python爬虫】Beautiful Soup库入门

    BeautifulSoup库的安装 安装 pip install beautifulsoup4 测试是否安装成功 Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2 ...

  4. python——爬虫学习——Beautiful Soup库的使用-(2)

    Beautiful Soup库 执行pip install beautifulsoup4安装Beautiful Soup库 Beautiful Soup库的简介 Beautiful Soup是一个可以 ...

  5. Wireshark抓包及常用过滤方法

    一.抓包 实际遇到组件服务间的报错问题时,通过日志无法快速看出原因,可通过抓包的方式来快速查看接口返回信息及错误提示,使用如下命令可实现对某个端口进行抓包: tcpdump -i any -w /op ...

  6. Python中字典取值常用的方法!

    字典是Python中比较常见的数据类型之一,它是一种可变容器模型,可以存储任意数量的任意类型的数据,而且字典中的每个元素由一个键和一个值组成,键和值之间用冒号分隔.本文为大家介绍一下Python中字典 ...

  7. python Beautiful Soup常用过滤方法

    1.Beautiful Soup from bs4 import BeautifulSoup soup = BeautifulSoup('<p>Hello</p>','lxml ...

  8. Python爬虫库-Beautiful Soup的使用

    Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库,简单来说,它能将HTML的标签文件解析成树形结构,然后方便地获取到指定标签的对应属性. 如在上一篇文章通过爬虫 ...

  9. Python 爬虫之 Beautiful Soup 模块使用指南

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/bruce_6/article/deta ...

最新文章

  1. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:移除默认的列表样式
  2. 软件设计中的抽象层次
  3. React开发(266):ant design customRequest
  4. 百度UEditor控件中的map组件不支持https使用的问题解决
  5. 26.逻辑卷管理器(Logical Volume Manager)
  6. SQL Prompt教程:使用SQL提示代码分析避免T-SQL技术债务
  7. module_init和module_exit的作用
  8. win10下Cmake(make-gui)下载与安装【详细】
  9. 设置VS201X release模式下可单步调试
  10. OKR教练:OKR评分,你可以这样做。
  11. 如何优雅的在word打公式
  12. 智力推理:三个孩子的年龄分别是多少?
  13. 浩辰3D软件入门攻略:什么是有限元分析?
  14. Python 多线程输出混乱
  15. 【c语言】矩阵的创建
  16. 华为员工爆料,这个岗位要开始大量招人了!!!
  17. Kudu 原理、API使用、代码
  18. [Vue-Treeselect Warning] Unloaded branch node detected. “loadOptions“ prop is required to load its
  19. python 重复图片_删除重复文件或图片(去重)的python代码
  20. 揭秘你所看不见的技术原理 - 游戏世界服

热门文章

  1. gitlab添加SSH密钥——查看本地密钥 生成ssh密钥
  2. 构建您的第一个Web爬网程序,第2部分
  3. System.Exception类型的异常在Silvertek.ORM.dll中发生,但未在用户代码中进行处理 其他信息:pars_no
  4. DBCO-PEG-4ARM,四臂聚乙二醇二苯基环辛炔,4Arm PEG-DBCO
  5. 关于 ubuntu18.04使用QtCcreator无法输入中文 的解决方法
  6. 音视频开发(六):MediaCodec硬编解流程与实践
  7. 牛客网 SQL93.网易云音乐推荐
  8. 不改一行业务代码,飞书 iOS 低端机启动优化实践
  9. Ajax工作原理和实现步骤
  10. linux php oracle 乱码,oracle linux乱码怎么办