爬虫时通过 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 使用详解相关推荐

  1. Beautiful Soup模块详解

    目录 一.Beautiful Soup原理 二.安装模块方式 三.基础用法 四.BeautifulSoup对象说明 4.1.BeautifulSoup对象 4.2.Tag对象 4.3.Navigabl ...

  2. Beautiful Soup库详解

    Beautiful Soup库 Beautiful Soup库是解析.遍历.维护html"标签树"的功能库 from bs4 import BeautifulSoup soup = ...

  3. java lombok 视频_Java开发神器Lombok使用详解

    最近正在写SpringBoot系列文章和录制视频教程,每次都要重复写一些Getter/Setter.构造器方法.字符串输出的ToString方法和Equals/HashCode方法等.甚是浪费时间,也 ...

  4. 《微信小程序:开发入门及案例详解》—— 3.4 小结

    本节书摘来自华章出版社<微信小程序:开发入门及案例详解>一 书中的第3章,第3.4节,作者李骏 边思,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.4 小 ...

  5. IE8“开发人员工具”使用详解上(各级菜单详解)

    http://www.cnblogs.com/JustinYoung/archive/2009/03/24/kaifarenyuangongju.html 你还没有安装IE8? 如果你是前端开发人员, ...

  6. java me基础教程 pdf_Java ME手机应用开发技术与案例详解 PDF

    资源名称:Java ME手机应用开发技术与案例详解 PDF Java ME手机应用开发技术与案例详解基于Java ME,系统描述了Java ME手机应用开发的各个方面.全书按照Java ME程序的开发 ...

  7. Android 开发 存储目录的详解

    Android 开发 存储目录的详解 简介 Android设备,有3个地方的文件存储位置,他们分别是: 内部存储空间(用户无法浏览到此目录) 外部存储空间(就是手机自身的文件管理目录,用户可以浏览) ...

  8. IOS开发学习笔记-----UILabel 详解

    IOS开发学习笔记-----UILabel 详解 01 //创建uilabel 02 UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMa ...

  9. IE6,7,8开发人员工具使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)

    在上一篇文章IE8"开发人员工具"使用详解上(各级菜单详解) 中,我们详细地讲解了IE8开发人员工具中各个菜单中命令的使用方法,相信很多朋友应该已经使用上了.而IE8开发人员工具更 ...

最新文章

  1. java学习类的笔记
  2. 利用java格里高利公式求圆周率_用格里高利公式求π的近似值
  3. .NET 指南:转换操作符
  4. linux cal 命令详解
  5. JavaScript入门(part1)--初识JavaScript
  6. 工作经验--他人经验
  7. spring 容器的 profile 功能
  8. 习题总结(一)——硬链接,locate,chmod,家目录
  9. vc6.0安装过程中出现的问题——解决
  10. 用viewpager实现图片轮播
  11. 2.性能之巅 洞悉系统、企业与云计算 --- 方法
  12. (机器学习)痛苦的Caffe配置之路(win10 教育版+vs2015+cmaker+cpu_only+python接口)
  13. html通过拼音首字母定位,javascript实现通过拼音首字母快速选择下拉列表
  14. MongoDB的分片集群
  15. 基于python代码的3D地图可视化
  16. tarjan算法与无向图的连通性(割点,桥,双连通分量,缩点)
  17. Font-Awesome最新版完整使用教程
  18. 手机电商营销模式探讨
  19. 怎么看手机android底层,安卓手机中fastboot是一种比recovery更底层的模式
  20. 安全生产双重预防体系建设数字化解决方案

热门文章

  1. 工作这么多年,所经历5个骗子上司
  2. abc云支付php,糖果易支付 - 免签约支付平台,彩虹易支付,abc云支付,糖果支付
  3. 生死看淡,不服就干。SQL常见的一些优化。
  4. Python绘制七段数码管 获取并显示当前系统时间
  5. npm 及 webpack打包工具
  6. CORBA 架构体系指南(通用对象请求代理体系架构)
  7. 项目如何在Linux系统后台运行以及调回前台运行
  8. 【Python检测脚本】你知道朋友屏蔽你吗?你知道屏蔽别人的下场吗?(拉黑统统拉黑)
  9. Java SE java基础 求营业额
  10. 前端加密 后端Java解密