刮擦标签对象和聚集值

2024-05-15 16:28:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力学习如何做网页刮和刮似乎是一个好地方开始。 我知道如何从标签中获取基本的文本信息,但现在我想从标签本身获取信息。下面是一个例子。 我正在使用以下url:https://www.net-a-porter.com/ca/en/product/1100692/chloe/roy-day-small-leather-and-suede-shoulder-bag

我想知道这个包的名字和价格。查看DOM结构时,有2个标记:

<h2 class="product-name">
<nap-price class="product-price" price:{...}>

我想刮去h2标签的文本值和nap price标签中的price对象

生成这样一个对象:

{
name: "from <h2> tag"
price: "price object from <nap-price> tag"
}

目前,我可以从h2标签取名称,我可以得到nap价格标签的全部内容,但是如何只针对price对象呢?然后把它们聚合成一个对象?你知道吗


Tags: 对象namefrom文本信息网页tag地方
1条回答
网友
1楼 · 发布于 2024-05-15 16:28:21

您可以使用::attr(),传递您想要值的属性的名称。然后将JSON字符串解析为Python对象:

import json

price = response.css('nap-price::attr(price)').get()
obj = json.loads(price)

print(obj)
# {"currency":"USD","divisor":100,"amount":185000}

相关问题 更多 >