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

简介: Python网络数据抓取(4):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’)

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

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

print(name)

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

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

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

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

print(price)

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

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

正如您所看到的,评级存储在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库来执行这项工作(下期见)。

相关文章
|
9天前
|
数据采集 缓存 定位技术
网络延迟对Python爬虫速度的影响分析
网络延迟对Python爬虫速度的影响分析
|
10天前
|
Python
Python中的异步编程:使用asyncio和aiohttp实现高效网络请求
【10月更文挑战第34天】在Python的世界里,异步编程是提高效率的利器。本文将带你了解如何使用asyncio和aiohttp库来编写高效的网络请求代码。我们将通过一个简单的示例来展示如何利用这些工具来并发地处理多个网络请求,从而提高程序的整体性能。准备好让你的Python代码飞起来吧!
28 2
|
17天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
60 6
|
5天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
26 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
10天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
利用Python和TensorFlow构建简单神经网络进行图像分类
利用Python和TensorFlow构建简单神经网络进行图像分类
29 3
|
15天前
|
数据采集 存储 XML
Python实现网络爬虫自动化:从基础到实践
本文将介绍如何使用Python编写网络爬虫,从最基础的请求与解析,到自动化爬取并处理复杂数据。我们将通过实例展示如何抓取网页内容、解析数据、处理图片文件等常用爬虫任务。
|
18天前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
40 4
|
18天前
|
网络协议 物联网 API
Python网络编程:Twisted框架的异步IO处理与实战
【10月更文挑战第26天】Python 是一门功能强大且易于学习的编程语言,Twisted 框架以其事件驱动和异步IO处理能力,在网络编程领域独树一帜。本文深入探讨 Twisted 的异步IO机制,并通过实战示例展示其强大功能。示例包括创建简单HTTP服务器,展示如何高效处理大量并发连接。
39 1
|
17天前
|
网络协议 调度 开发者
Python网络编程:Twisted框架的异步IO处理与实战
【10月更文挑战第27天】本文介绍了Python网络编程中的Twisted框架,重点讲解了其异步IO处理机制。通过反应器模式,Twisted能够在单线程中高效处理多个网络连接。文章提供了两个实战示例:一个简单的Echo服务器和一个HTTP服务器,展示了Twisted的强大功能和灵活性。
28 0
|
5天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第39天】在数字化时代,网络安全和信息安全成为了我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和方法来保护自己的信息安全。
15 2