BeautifulSoup用途 BeautifulSoup 借助网页的结构和属性等特性来解析网页,可以用它来方便地从网页中提取所需信息。
BeautifulSoup自动将输入文档转换为Unicode编码,输出文档转换为UTF-8编码。BeautifulSoup依赖于解析器
它除了支持Python标准库中的HTML解析器外,还支持第三方解析器:

用法示例
在以下示例中,使用的均是 Python 标准库中的HTML解析器,使用方法为 BeautifulSoup(markup, 'html.parser')

① prettify() 方法
使用 prettify() 方法把网页信息(字符串)以标准的缩进格式输出,输出的结果中很多节点,每一个节点都可以作为一个对象,直接调用节点的名称就可以提取节点元素。

② 输出指定节点的文本内容
在使用 prettify() 方法输出的结果中,可以看到有 title 节点:

使用 soup.title 可以提取出 title 节点,输出结果为:<title>猫眼电影 - 一网打尽好电影</title> 。
查看一下 soup.title 的类型,为 bs4.element.Tag类型,这是 BeautifulSoup 中一个重要的数据结构,我们通过节点提取的结果都是这种 Tag 类型。Tag 具有一些属性,例如 string 属性。
调用 string 属性就可以得到这个节点内的文本内容了:

注意:以上这种提取节点元素的方式,当同一节点名出现多次时,只能提取到第一个匹配的节点。③ 获取 Tag (标签)的属性
使用 soup.标签名.attrs 可以获取指定标签的所有属性。例如:

使用 soup.标签名['属性名'] 可以获取标签中指定属性的内容。例如:

④ find() 和 find_all() 方法——面向对象的匹配
BeautifulSoup 提供了一些查询方法,比如 find()find_all() 等,调用它们,然后传入相应的参数,就可以灵活查询了。find()
使用 find() 方法,可以得到符合条件的第一个元素。例如,使用 soup.find(name='p') 可以得到节点名为 p 的第一个元素:

find_all()
使用 find_all() 方法,可以得到所有符合条件的元素。例如,使用 soup.find(name='p') 可以得到节点名为 p 的所有元素组成的列表:

find() 和 find_all() 方法 常与 正则表达式 配合使用。
挖个坑,以后填:
什么是正则表达式?如何使用?
------------------- End -------------------

相关阅读

Python抓取静态网页内容​mp.weixin.qq.comPython爬虫常用模块:requests库的7个主要方法、13个关键字参数以及响应对象的5种属性​mp.weixin.qq.com

beautifulsoup获取属性_Python爬虫常用模块:BeautifulSoup相关推荐

  1. 数据采集与清洗基础习题(二)Python爬虫常用模块,头歌参考答案

    数据采集习题参考答案,会持续更新,点个关注防丢失.为了方便查找,已按照头歌重新排版,朋友们按照头歌所属门类查找实训哦,该篇为Python爬虫常用模块. 创作不易,一键三连给博主一个支持呗. 文章目录 ...

  2. python tag对象下有多个标签、属性_Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释...

    Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待 4999元包邮 去购买 > 如何利用Python爬虫库BeautifulSoup获取对象(标签) ...

  3. python怎么爬取电影海报_python爬虫之通过BeautifulSoup获取豆瓣最新上映电影的海报...

    0.目录 1.分析页面 2.初步代码 3.完整代码 4.总结 5.补充 1.分析页面 上一次我们讲了xpath获取豆瓣最新上映电影的海报,这一次会分析如何使用BeautifulSoup获取.启程:py ...

  4. python如何修改网页_python爬虫:使用BeautifulSoup修改网页内容

    BeautifulSoup除了可以查找和定位网页内容,还可以修改网页.修改意味着可以增加或删除标签,改变标签名字,变更标签属性,改变文本内容等等. 使用修BeautifulSoup修改标签 每一个标签 ...

  5. 与python相关的爬虫工具_python爬虫常用工具集合

    一.常用模块 1.requests模块,网络请求 Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库,Requests它会比url ...

  6. python中common在哪个模块导入_python的常用模块之collections模块详解

    认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...

  7. python beautifulsoup库_Python爬虫系列:BeautifulSoup库详解

    点击上方蓝字关注"程序员Bob"呀~ 每个人的生命都是通向自我的征途,是对一条道路的尝试,是一条小径的悄然召唤.人们从来都无法以绝对的自我之相存在,每一个人都在努力变成绝对自我,有 ...

  8. Python正则匹配HTML,python正则匹配html标签_Python爬虫常用正则表达式及HTML网页标签分析总结...

    这篇文章主要是介绍Python爬取网页信息时,经常使用的正则表达式及方法.它是一篇总结性文章,实用性比较大,主要解决自己遇到的爬虫问题,也希望对你有所帮助~ 当然如果会Selenium基于自动化测试爬 ...

  9. python正则匹配html标签_Python爬虫常用正则表达式及HTML网页标签分析总结

    这篇文章主要是介绍Python爬取网页信息时,经常使用的正则表达式及方法.它是一篇总结性文章,实用性比较大,主要解决自己遇到的爬虫问题,也希望对你有所帮助~ 当然如果会Selenium基于自动化测试爬 ...

最新文章

  1. win2003服务器记录文件夹,在Windows Server 2003里快速查找文件
  2. IDA使用方法-----1
  3. 【面试必备】java面试题视频讲解
  4. [Objective-c 基础 - 2.5] .h和.m文件,点语法,成员变量作用域
  5. 【コンテンツ配信高速化 】
  6. Redis介绍及常用命令【转载】
  7. 9款很棒的网页绘制图表JavaScript框架脚本
  8. 「leetcode」35.搜索插入位置:每次遇到二分法,都是一看就会,一写就废
  9. [Node.js]001.安装与环境配置
  10. 华为鸿蒙如何添加桌面小组件,万能小组件添加至桌面怎么弄?桌面添加应用方法图文详解...
  11. 如何应用计算机键盘截图,键盘怎么截图
  12. 美丽的小丑,谁的悲哀
  13. 微型计算机可以配置,目前主流微型计算机的配置及选购的调查报告
  14. 洛谷 P2216 [HAOI2007] 理想的正方形
  15. 全球最大同性交友平台的“黑历史”
  16. 校园快递管理系统-JAVA.JSP【数据库设计、论文、源码、开题报告】
  17. Github开源项目详解--Mall(一)
  18. 单级放大器1db压缩点 matlab仿真,0.1db压缩点
  19. 手把手教你电机FOC控制【一】
  20. PhysX 物理引擎研究(一)源码编译

热门文章

  1. 如何重做计算机系统软件,电脑卡如何一键重做Win7旗舰版
  2. python中的装饰器和抽象类
  3. 理解:复杂度是O(log^n) 就是二分法
  4. 初学大数据之Pycharm常用的快捷键总结
  5. JS_17 ES5,ES6
  6. C++静态成员函数指针
  7. 数据结构:神奇的B树实现解析(有图有代码有真相!!!)
  8. 结构体定义的三钟方式
  9. 打CALL APP 项目进展 总体计划
  10. NodeJs实现下载Excel文件