【RPA开发】Beautiful Soup 使用详解
爬虫时通过 requests.get 方法获得 html 源代码后,通常需要从源代码中提取关键信息,这有多种方式,比如使用正则表达式匹配,也可通过 python 的第三方库 Beautiful Soup 实现定位提取关键信息,类似的库还有 lxml 第三方库中的 etree 模块。
目录
1 快速开始
1.1 Beautiful Soup 介绍
1.2 基础信息提取
① HTML 代码
② 基础方法汇总
③ find 简单使用
1.3 解析器介绍
2 find 使用
2.1 标签/tag名定位
2.2 标签+属性定位
2.3 标签+文本值定位
2.4 正则表达式
2.5 find().find()
3 select 使用
3.1 css基本属性定位
3.2 css其他属性定位
3.3 css标签结合其他属性定位
3.4 css层级定位
3.5 css索引定位
3.6 css模糊匹配
4 实战--猫眼榜单
4.1 使用 requests 请求页面
4.2 分析页面及元素定位
1 快速开始
1.1 Beautiful Soup 介绍
简单来说,Beautiful Soup 是 Python 用于解析 HTML 和 XML 文件的第三方库,可以从 HTML 和 XML 文件中提取数据。
- 官方网址:Beautiful Soup Documentation
- 中文文档:Beautiful Soup 中文文档
- 安装:pip install beautifulsoup4
Beautiful Soup 3 目前已经停止开发,官方支持 Beautiful Soup 4,并且将其移植到 BS4,也就是说我们需要 import bs4,本文 beautifulsoup4 版本 = 4.12.2。
Beautiful Soup提供了多种搜索方式,可以轻松定位所需的元素。 它还可以修复已损坏的HTML和XML文件,使其更易于理解和处理。
1.2 基础信息提取
① HTML 代码
下面是一段官方提供的 html 代码(爱丽丝梦游仙境的一段内容):
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p><p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" id="link1">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>
页面效果如下,右键选择“检查”即可查看其 html 规范格式
【RPA开发】Beautiful Soup 使用详解相关推荐
- Beautiful Soup模块详解
目录 一.Beautiful Soup原理 二.安装模块方式 三.基础用法 四.BeautifulSoup对象说明 4.1.BeautifulSoup对象 4.2.Tag对象 4.3.Navigabl ...
- Beautiful Soup库详解
Beautiful Soup库 Beautiful Soup库是解析.遍历.维护html"标签树"的功能库 from bs4 import BeautifulSoup soup = ...
- java lombok 视频_Java开发神器Lombok使用详解
最近正在写SpringBoot系列文章和录制视频教程,每次都要重复写一些Getter/Setter.构造器方法.字符串输出的ToString方法和Equals/HashCode方法等.甚是浪费时间,也 ...
- 《微信小程序:开发入门及案例详解》—— 3.4 小结
本节书摘来自华章出版社<微信小程序:开发入门及案例详解>一 书中的第3章,第3.4节,作者李骏 边思,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.4 小 ...
- IE8“开发人员工具”使用详解上(各级菜单详解)
http://www.cnblogs.com/JustinYoung/archive/2009/03/24/kaifarenyuangongju.html 你还没有安装IE8? 如果你是前端开发人员, ...
- java me基础教程 pdf_Java ME手机应用开发技术与案例详解 PDF
资源名称:Java ME手机应用开发技术与案例详解 PDF Java ME手机应用开发技术与案例详解基于Java ME,系统描述了Java ME手机应用开发的各个方面.全书按照Java ME程序的开发 ...
- Android 开发 存储目录的详解
Android 开发 存储目录的详解 简介 Android设备,有3个地方的文件存储位置,他们分别是: 内部存储空间(用户无法浏览到此目录) 外部存储空间(就是手机自身的文件管理目录,用户可以浏览) ...
- IOS开发学习笔记-----UILabel 详解
IOS开发学习笔记-----UILabel 详解 01 //创建uilabel 02 UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMa ...
- IE6,7,8开发人员工具使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
在上一篇文章IE8"开发人员工具"使用详解上(各级菜单详解) 中,我们详细地讲解了IE8开发人员工具中各个菜单中命令的使用方法,相信很多朋友应该已经使用上了.而IE8开发人员工具更 ...
最新文章
- java学习类的笔记
- 利用java格里高利公式求圆周率_用格里高利公式求π的近似值
- .NET 指南:转换操作符
- linux cal 命令详解
- JavaScript入门(part1)--初识JavaScript
- 工作经验--他人经验
- spring 容器的 profile 功能
- 习题总结(一)——硬链接,locate,chmod,家目录
- vc6.0安装过程中出现的问题——解决
- 用viewpager实现图片轮播
- 2.性能之巅 洞悉系统、企业与云计算 --- 方法
- (机器学习)痛苦的Caffe配置之路(win10 教育版+vs2015+cmaker+cpu_only+python接口)
- html通过拼音首字母定位,javascript实现通过拼音首字母快速选择下拉列表
- MongoDB的分片集群
- 基于python代码的3D地图可视化
- tarjan算法与无向图的连通性(割点,桥,双连通分量,缩点)
- Font-Awesome最新版完整使用教程
- 手机电商营销模式探讨
- 怎么看手机android底层,安卓手机中fastboot是一种比recovery更底层的模式
- 安全生产双重预防体系建设数字化解决方案