热销商品-爬虫销量信息

2024-03-12 12:12

本文主要是介绍热销商品-爬虫销量信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

技术部分详解

        1、发送GET请求:使用requests库的get()方法发送GET请求来获取指定网页的内容。在这个例子中,使用了一个自定义的User-Agent,以模拟一个浏览器发送请求。

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}

        Mozilla/5.0:通用格式标识,表示这是一个Mozilla浏览器的用户代理。

        (Windows NT 10.0; Win64; x64):操作系统和系统架构的说明,表示这是Windows NT 10.0操作系统的64位版本。

        AppleWebKit/537.36 (KHTML, like Gecko):WebKit引擎的版本信息,类似于Chrome浏览器的引擎。
        Chrome/58.0.3029.110 Safari/537.3:浏览器的版本信息,这里表示Chrome浏览器的58.0.3029.110版本和Safari浏览器的537.3版本。

# 发送GET请求获取页面内容response = requests.get(url, headers=headers)

        2、解析页面内容:使用BeautifulSoup库的BeautifulSoup()方法来解析页面的HTML内容。在这个例子中,使用了’html.parser’作为解析器来解析网页。

# 使用BeautifulSoup解析页面内容soup = BeautifulSoup(response.content, 'html.parser')

         3、查找元素:通过调用BeautifulSoup对象的find_all()方法来查找所有符合指定条件的元素。在这个例子中,使用了class属性为’tt’的div元素。      

# 查找所有<div class="tt">元素items = soup.find_all('div', class_='tt')

          4、收集数据:通过循环迭代每个找到的元素并提取所需的信息来收集数据。在这个例子中,利用get_text()方法获取元素的文本内容,并使用正则表达式对文本进行处理和分割,以得到产品名称和销量数据。

完整代码如下:

import requests
from bs4 import BeautifulSoup
import redef scrape_and_collect_data(url, num_items):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}# 发送GET请求获取页面内容response = requests.get(url, headers=headers)# 使用BeautifulSoup解析页面内容soup = BeautifulSoup(response.content, 'html.parser')# 查找所有<div class="tt">元素items = soup.find_all('div', class_='tt')product_names = []sales_data = []# 收集数据for index, item in enumerate(items):if index >= num_items:breakitem_text = item.get_text(strip=True)item_text_without_original_price = re.sub(r'原价.*', '', item_text)  # 删除包括“原价”后的文本sales_div = item.find_next('div', class_='ss')if sales_div:# 提取销量信息并去除括号及其内部内容sales_info = re.sub(r'\([^()]*\)', '', sales_div.get_text(strip=True))sales_info_cut = sales_info.split('热销')[-1].split('件')[0].strip()  # 切片操作提取券后之后到'-'之前的内容product_names.append(item_text_without_original_price)sales_data.append(int(sales_info_cut))print(item_text_without_original_price)print(sales_info_cut)return product_names, sales_data# 要爬取的网页链接和指定爬取的条数
url = 'https://tophub.today/c/shopping'
num_items = 10  # 指定爬取前10条数据# 调用函数执行爬取并收集数据
product_names, sales_data = scrape_and_collect_data(url, num_items)

这篇关于热销商品-爬虫销量信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结

springboot实现配置文件关键信息加解密

《springboot实现配置文件关键信息加解密》在项目配置文件中常常会配置如数据库连接信息,redis连接信息等,连接密码明文配置在配置文件中会很不安全,所以本文就来聊聊如何使用springboot... 目录前言方案实践1、第一种方案2、第二种方案前言在项目配置文件中常常会配置如数据库连接信息、Red

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服