【Python爬虫】网页抓取实例之淘宝商品信息抓取

之前我们已经说过网页抓取的相关内容

上次我们是以亚马逊某网页的产品为例

抓取价格、品牌、型号、样式等

图片

该网页上价格、品牌、型号、样式等

都只有一个

如果网页上的目标内容

根据不同规格有多个

又该怎么提取呢?

▼如下图所示

当机身颜色、套餐、存储容量等

规格不同时

对应价格也不同

那该怎么获取不同属性下的价格呢?

 此时需要用到抓取商品详情信息的API接口item_get、或者item_get_sku。

详细调用步骤如下:

1、获取API调用权限,注册key和密钥。

2、进入API测试页,输入商品id,调用API。如下图:

3、找到响应示例中的sku信息

"skus": {
			"sku": [
				{
					"price": 678,
					"total_price": 0,
					"orginal_price": 678,
					"properties": "1627207:1007902496;5919063:6536025;12304035:1905146457",
					"properties_name": "1627207:1007902496:机身颜色:幻夜黑;5919063:6536025:套餐类型:官方标配 华为nova5i;12304035:1905146457:存储容量:6+128GB",
					"quantity": 200,
					"sku_id": "5142540523707"
				},
				{
					"price": 778,
					"total_price": 0,
					"orginal_price": 778,
					"properties": "1627207:1007902496;5919063:6536025;12304035:1963543205",
					"properties_name": "1627207:1007902496:机身颜色:幻夜黑;5919063:6536025:套餐类型:官方标配 华为nova5i;12304035:1963543205:存储容量:8+128GB",
					"quantity": 200,
					"sku_id": "5142540523708"
				},
				{
					"price": 868,
					"total_price": 0,
					"orginal_price": 868,
					"properties": "1627207:1007902496;5919063:3266779;12304035:1905146457",
					"properties_name": "1627207:1007902496:机身颜色:幻夜黑;5919063:3266779:套餐类型:套餐一 华为nova5por;12304035:1905146457:存储容量:6+128GB",
					"quantity": 0,
					"sku_id": "5141622086982"
				},
				{
					"price": 878,
					"total_price": 0,
					"orginal_price": 878,
					"properties": "1627207:1007902496;5919063:3266779;12304035:1963543205",
					"properties_name": "1627207:1007902496:机身颜色:幻夜黑;5919063:3266779:套餐类型:套餐一 华为nova5por;12304035:1963543205:存储容量:8+128GB",
					"quantity": 200,
					"sku_id": "5141622086983"
				},
				{
					"price": 678,
					"total_price": 0,
					"orginal_price": 678,
					"properties": "1627207:2771458827;5919063:6536025;12304035:1905146457",
					"properties_name": "1627207:2771458827:机身颜色:苏音蓝;5919063:6536025:套餐类型:官方标配 华为nova5i;12304035:1905146457:存储容量:6+128GB",
					"quantity": 200,
					"sku_id": "5142540523709"
				},
				{
					"price": 778,
					"total_price": 0,
					"orginal_price": 778,
					"properties": "1627207:2771458827;5919063:6536025;12304035:1963543205",
					"properties_name": "1627207:2771458827:机身颜色:苏音蓝;5919063:6536025:套餐类型:官方标配 华为nova5i;12304035:1963543205:存储容量:8+128GB",
					"quantity": 200,
					"sku_id": "5142540523710"
				},
				{
					"price": 868,
					"total_price": 0,
					"orginal_price": 868,
					"properties": "1627207:2771458827;5919063:3266779;12304035:1905146457",
					"properties_name": "1627207:2771458827:机身颜色:苏音蓝;5919063:3266779:套餐类型:套餐一 华为nova5por;12304035:1905146457:存储容量:6+128GB",
					"quantity": 0,
					"sku_id": "5141622086986"
				},
				{
					"price": 878,
					"total_price": 0,
					"orginal_price": 878,
					"properties": "1627207:2771458827;5919063:3266779;12304035:1963543205",
					"properties_name": "1627207:2771458827:机身颜色:苏音蓝;5919063:3266779:套餐类型:套餐一 华为nova5por;12304035:1963543205:存储容量:8+128GB",
					"quantity": 200,
					"sku_id": "5141622086987"
				},
				{
					"price": 678,
					"total_price": 0,
					"orginal_price": 678,
					"properties": "1627207:1198972384;5919063:6536025;12304035:1905146457",
					"properties_name": "1627207:1198972384:机身颜色:蜜语红;5919063:6536025:套餐类型:官方标配 华为nova5i;12304035:1905146457:存储容量:6+128GB",
					"quantity": 200,
					"sku_id": "5142540523705"
				},
				{
					"price": 778,
					"total_price": 0,
					"orginal_price": 778,
					"properties": "1627207:1198972384;5919063:6536025;12304035:1963543205",
					"properties_name": "1627207:1198972384:机身颜色:蜜语红;5919063:6536025:套餐类型:官方标配 华为nova5i;12304035:1963543205:存储容量:8+128GB",
					"quantity": 200,
					"sku_id": "5142540523706"
				},
				{
					"price": 868,
					"total_price": 0,
					"orginal_price": 868,
					"properties": "1627207:1198972384;5919063:3266779;12304035:1905146457",
					"properties_name": "1627207:1198972384:机身颜色:蜜语红;5919063:3266779:套餐类型:套餐一 华为nova5por;12304035:1905146457:存储容量:6+128GB",
					"quantity": 0,
					"sku_id": "5141622086984"
				},
				{
					"price": 878,
					"total_price": 0,
					"orginal_price": 878,
					"properties": "1627207:1198972384;5919063:3266779;12304035:1963543205",
					"properties_name": "1627207:1198972384:机身颜色:蜜语红;5919063:3266779:套餐类型:套餐一 华为nova5por;12304035:1963543205:存储容量:8+128GB",
					"quantity": 200,
					"sku_id": "5141622086985"
				},
				{
					"price": 678,
					"total_price": 0,
					"orginal_price": 678,
					"properties": "1627207:5860482491;5919063:6536025;12304035:1905146457",
					"properties_name": "1627207:5860482491:机身颜色:烟雨青蓝;5919063:6536025:套餐类型:官方标配 华为nova5i;12304035:1905146457:存储容量:6+128GB",
					"quantity": 200,
					"sku_id": "5142540523711"
				},
				{
					"price": 778,
					"total_price": 0,
					"orginal_price": 778,
					"properties": "1627207:5860482491;5919063:6536025;12304035:1963543205",
					"properties_name": "1627207:5860482491:机身颜色:烟雨青蓝;5919063:6536025:套餐类型:官方标配 华为nova5i;12304035:1963543205:存储容量:8+128GB",
					"quantity": 200,
					"sku_id": "5142540523712"
				},
				{
					"price": 868,
					"total_price": 0,
					"orginal_price": 868,
					"properties": "1627207:5860482491;5919063:3266779;12304035:1905146457",
					"properties_name": "1627207:5860482491:机身颜色:烟雨青蓝;5919063:3266779:套餐类型:套餐一 华为nova5por;12304035:1905146457:存储容量:6+128GB",
					"quantity": 0,
					"sku_id": "5141622086988"
				},
				{
					"price": 878,
					"total_price": 0,
					"orginal_price": 878,
					"properties": "1627207:5860482491;5919063:3266779;12304035:1963543205",
					"properties_name": "1627207:5860482491:机身颜色:烟雨青蓝;5919063:3266779:套餐类型:套餐一 华为nova5por;12304035:1963543205:存储容量:8+128GB",
					"quantity": 200,
					"sku_id": "5141622086989"
				}
			]
		},

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/126705.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python3.8.10虚拟环境安装talib总报平台不匹配

目录 环境: 需求: 问题: 概述 过程及解决 解决方案总结 环境: 操作系统:window10、64位 开发工具:pycharm python版本:python3.8.10 需求: 在python3.8.10的虚拟环境中安…

神经网络遗传算法函数极值寻优

大家好,我是带我去滑雪! 对于未知的非线性函数,仅仅通过函数的输入和输出数据难以寻找函数极值,这一类问题可以通过神经网络结合遗传算法求解,利用神经网络的非线性拟合能力和遗传算法的非线性寻优能力寻找函数极值。 …

国内外PLC的差异化对比

在聊PLC的市场格局和国产发展现状之前,我们先来简单了解一下PLC的作用。所谓PLC,你可以把它当成是一台小型电脑,只不过这台电脑是专用于工业领域,用来控制各种机械或生产的过程。比如说我们身上穿的衣服,都是由机器缝制…

合成数据在医疗保健行业的案例研究

从机器人辅助手术到医学成像技术,人工智能在医疗保健领域的应用正在迅速改变医疗保健行业,并改善服务成本和服务质量。例如,埃森哲表示,到 150 年,人工智能临床健康应用每年可以为美国医疗保健行业节省 2026 亿美元。 …

Ubuntu22.04 下 NFS 相关问题与完整配置(客户机 MacOS)

categories: [Linux-Shell] tags: Linux NFS 写在前面 最近折腾一下 NFS, 先白嫖一顿华子云的 1 个月服务器, 2C4G 感觉不错了, 但NFS 配置起来还是有点难度, 主要还是随机分配的端口配置方面比较恶心. server环境: 华为云 2C4G Ubuntu22.04 client环境: MacOS M1 with brew …

个人网厅——销户

目录 需求文档 公积金销户类 controller层 service层 service层实现类 1.验证 (个人账户) 2.提交(添加) controller层 service层 service层实现类 3.分页查询 controller层 service层 service层实现类 4. 详情查询…

2.【自动驾驶与机器人中的SLAM技术】左乘模型推导ESKF

目录 1. 证明题 证明:若某个高斯随机变量为零均值,协方差为对角线矩阵且大小相同(各向同性),那么在乘任意旋转矩阵以后,其均值仍为零,且协方差不变; 2. 代码实现运动方程将F矩阵…

layui table合并相同的列

table.render({elem: #samples,url: /index/Develorderss/samplelists?od_idod_id //数据接口,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档layout: [prev, page, next, count,skip,limit]…

链表OJ题(1)

今天讲解两道链表OJ题目。 1.链表的中间节点 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 输入:head [1,2,3,4,5] 输出:[3,4,5] 解释:链表只有一个…

mac 安装使用svn教程

mac 安装使用svn教程 一、安装Homebrew 要在Mac OS上安装SVN,首先需要安装Homebrew。Homebrew是一个流行的包管理器,因此我们将使用它来安装SVN。 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"…

区块链多链数字钱包开发

随着区块链技术的不断发展,多链数字钱包的开发逐渐成为热门领域。多链数字钱包是一种可以支持多种区块链网络的数字钱包,用户可以使用它来存储、管理和转移不同的数字资产。本文将探讨多链数字钱包的开发背景、市场需求、技术实现和未来趋势等方面。 一、…

redisson中的分布式锁二

公平锁(Fair Lock) 基于Redis的Redisson分布式可重入公平锁也是实现了java.util.concurrent.locks.Lock接口的一种RLock对象。同时还提供了异步(Async)、反射式(Reactive)和RxJava2标准的接口。它保证了当…

YB1205B S0T23开关式异步升压具恒压恒流LED驱动器

YB1205B S0T23开关式异步升压具恒压恒流LED驱动器 产品简介: YB1205B是一种输入电压范围宽(0.85.5V),可调恒定电流和限定电流两种模式来驱动白光LED而设计的升压型DCDC变换器。采用变频模式,逐周期限流,使输入输出电流随电源电压降低均匀变…

微服务之Nacos注册管理

文章目录 一、Nacos安装步骤1.安装地址2.安装版本3.目录说明4.端口配置5.启动 二、Nacos服务注册1.Nacos依赖2.客户端修改配置文件3.启动效果图4.总结 三、Nacos服务集群属性1.服务跨集群调用问题2.服务集群属性3.总结 四、Nacos根据集群负载均衡1.修改配置文件2.设置集群服务类…

【C语法学习】20 - 文件访问顺序

文章目录 0 前言1 文件位置指示符2 rewind()函数2.1 函数原型2.2 参数2.3 返回值2.4 使用说明 3 ftell()函数3.1 函数原型3.2 参数3.3 返回值 4 fseek()函数4.1 函数原型4.2 参数4.3 返回值 5 示例5.1 示例15.2 示例2 0 前言 C语言文件访问分为顺序文件访问和随机文件访问。 …

Kotlin库实现多线程爬取数据

由于字数限制,以下是一个简化版的爬虫程序示例,使用了Kotlin的网络库kotlinx.coroutines和kotlinx.html。这个程序会爬取一个简单的Python多线程跑数据的网页,并打印出结果。 import kotlinx.coroutines.* import kotlinx.html.* import java…

oracle-sql语句解析类型

语句执行过程:1. 解析(将sql解析成执行计划) 2.执行 3.获取数据(fetch) 1. shared pool的组成。 share pool是一块内存池。 主要分成3块空间。free, library(库缓存,缓存sql以及执行计划),row cache(字典缓存) select * from v…

振南技术干货集:C语言的一些“骚操作”及其深层理解(10)

注解目录 第二章《c语言的一些“操作”及其深层理解》 一、字符串的实质就是指针 (如何将 35 转为对应的十六进制字符串”0X23”?) 二 、转义符\ (打入字符串内部的“奸细”。) 三、字符串常量的连接 &#xff…

WebSocket在node端和客户端的使用

摘要 如果想要实现一个聊天的功能,就会想到使用WebSocket来搭建。那如果没有WebSocet的时候,我们会以什么样的思路来实现聊天功能呢? 假如有一个A页面 和 B页面进行通信,当A发送信息后,我们可以将信息存储在文件或者…

Vue 最简单路由 页面路由 配置路由

路由安装 Vue3使用 vue-router4 Vue2使用 vue-router3 npm i vue-router3创建路由文件 配置路由规则 import Vue from vue import VueRouter from vue-router //导入路由器 Vue.use(VueRouter)import Login from ../components/Login import User from ../components/User //…