Python网络数据抓取(3):Beautiful Soup

2024-04-28 12:04

本文主要是介绍Python网络数据抓取(3):Beautiful Soup,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Beautiful Soup

这个库通常被称为Beautiful Soup 4(BS4)。它主要用来从HTML或XML文件中抓取数据。此外,它也用于查询和修改HTML或XML文档中的数据。

现在,让我们来了解如何使用Beautiful Soup 4。我们将采用上一节中使用的HTML数据作为示例。不过在此之前,我们需要先将这些数据导入到我们的文件中。

from bs4 import BeautifulSoup

从我们的目标页面中,我们将提取一些重要数据,例如名称、价格和产品评级。为了提取数据,我们需要一个解析树。

soup=BeautifulSoup(resp.text, ’html.parser’)
alt

当您检查名称时,您会发现它存储在 a-size-large 类产品标题分词符中。

name = soup.find(“span”,{“class”:”a-size-large product-title-word-break”}).text

print(name)

当我们打印名字时,我们得到了这个。

alt

正如你所看到的,我们得到了产品的名称。现在,我们将提取价格。

alt

通过检查价格,我可以看到价格存储在屏幕外的类中,而该类存储在priceToPay 类中。

price = soup.find(“span”,{“class”:”priceToPay”}).find(“span”,{“class”:”a-offscreen”}).text

print(price)

当我们打印它时,我们得到了这个。

alt

现在,最后一部分是提取产品的评级。

alt

正如您所看到的,评级存储在***a-icon-star***中。

rating = soup.find(“i”,{“class”:”a-icon-star”}).text

所以,当我们打印这个时,我们得到了这个。

>>> 4.9 out of 5 stars

但如果你只需要 4.9 部分,并且想要删除所有多余的文本,那么我们将使用 python 的 split 函数。

rating = soup.find(“i”,{“class”:”a-icon-star”}).text.split(“ “)[0]

这将为我们提供评级部分。

>>> 4.9

我们利用requests库发送GET请求,成功地从第一部分获取的杂乱HTML中提取出了所有必需的数据。

那么,如果你需要将这些数据保存到CSV文件中,又该如何操作呢?这时,我们将调用Pandas库来执行这项工作(下期见)。

本文由 mdnice 多平台发布

这篇关于Python网络数据抓取(3):Beautiful Soup的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/943217

相关文章

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

利用Python打造一个Excel记账模板

《利用Python打造一个Excel记账模板》这篇文章主要为大家详细介绍了如何使用Python打造一个超实用的Excel记账模板,可以帮助大家高效管理财务,迈向财富自由之路,感兴趣的小伙伴快跟随小编一... 目录设置预算百分比超支标红预警记账模板功能介绍基础记账预算管理可视化分析摸鱼时间理财法碎片时间利用财

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Python位移操作和位运算的实现示例

《Python位移操作和位运算的实现示例》本文主要介绍了Python位移操作和位运算的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 位移操作1.1 左移操作 (<<)1.2 右移操作 (>>)注意事项:2. 位运算2.1

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too