微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 json python 请求中抓取值

如何解决从 json python 请求中抓取值

所以我正在为网站上的尺寸构建一个scraper,我很困惑如何从这个 json 中提取“EUR”和“pieces”......我想打印后来所有尺寸,如“EU 41 = Pieces 6”。可能我需要一个 for 循环

这里是 json 的输出"{'translations': {'en': {'lang': 'en','title': 'Nike Dunk Low Retro Premium','subtitle': '黑色/纯铂-无烟煤','slug':'nike-dunk-low-retro-premium','描述':'DH7913-001'}},'id':'vpEW0nkBHBhvh4GFDXSb','价格':{ 'EUR': {'currency': 'EUR','value': 119}},'sizeSets': {'Men': {'name': 'Men','sizes': [{'id': ' 685d200c-c470-11eb-b5ee-a66da43170c1','us':'8','eur':'41','uk':'7','cm':'26','ean':'194955875308','pieces': 6},{'id': '685d21c4-c470-11eb-9f9f-a66da43170c1','us': '8.5','eur': '42','uk': '7.5',' cm':'26.5','ean':'194955875315','件':18},{'id':'685d232c-c470-11eb-8bda-a66da43170c1','us':'9','eur : '42.5','uk': '8','cm': '27','ean': '194955875322','pieces': 10},{'id': '685d248a-c470-11eb-bf78- a66da43170c1','us': '9.5','eur': '43','uk': '8.5','cm': '27.5','ean': '194955875339','pieces': 17},{'id':'685d25de-c470-11eb-8741-a66da43170c1','us':'10','eur':'44','uk':'9','cm':' 28','ean':'194955875346','件':15},{'id':'685d2732-c470-11eb-bfb5-a66da43170c1','us':'10.5','4eur.5' ,'uk':'9.5','cm':'28.5','ean':'194955875353','件':5},{'id':'685d2886-c470-11eb-ac68-a66da43170c1 us': '11','eur': '45','uk': '10','cm': '29','ean': '194955875360','pieces': 1},{'id' : '685d29e4-c470-11eb-8578-a66da43170c1','us': '11.5','eur': '45.5','uk': '10.5','cm': '29.5','ean': 194955875377','pieces': 2},{'id': '685d2b38-c470-11eb-a729-a66da43170c1','us': '12','eur': '46','uk': '1','cm': '30','ean': '194955875384','pieces': 3}]},'Unisex': {'name': 'Unisex','sizes': []},'Women' : {'name': 'Women','Kids': {'name': 'Kids','sizes': []}},'images': ['0/08/ 083 / 0837c383a3212d52f2e4455e0d876f47.jpeg ' 'C / CA / CA0 / ca01c2ca1dfb35013a06723b60c062cc.jpeg', '8 / 8E / 8e9 / 8e9d04f6d1e8712da6d85c3db98ff989.jpeg', '3 /376分之37/ 3769e3f56186e46b91c725d09dff3252.jpeg',' A / A A / AA5 / aa5a8934a05be2badfe9cff5e07f122c.jpeg','7/7b/7b0/7b088912b94b​​b 0b2e41d527d573d568d.jpeg ' 'B / B8 / B8B / b8b214b6e1a33d56880e412b7ef8fe01.jpeg', '5 /562分之56/ 562809e497cc98b69cf8789e3238e482.jpeg'], 'imagesPortrait':[ 'A / AB / ABC / abc1eac4bcdf74bd899f8e2f7827f30c.jpeg'],' createdAt ':'2021-06-03T13:34:22+00:00','publishAt':'2021-06-10T10:00:00+00:00','openRegistrationAt':'2021-06-10T10:00 :00+00:00','closeRegistrationAt': '2021-06-18T23:00:00+00:00','finished': True,'headliner': False,'code': 'DH7913-001','footshopLink': 'https://www.footshop.eu/en/723-limited-edition/orderby-activated_at/orderway-desc','soldout': False,'deleted': False,'limitedShipping': True,'delayedExport': False,'productIdentifier': '115147','status': 'Closed','resultAt': '2021-06-19T03:00:00+00:00'}"

from os import error
import requests
from bs4 import BeautifulSoup
from discord_webhook import discordWebhook,discordEmbed
import time
import json


URL= "https://releases.footshop.com/api/raffles/vpEW0nkBHBhvh4GFDXSb"




headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/89.0.4389.82 Safari/537.36"}

page = requests.get(URL,headers=headers)

soup = BeautifulSoup(page.content,'html.parser')



site_info= page.json()
print(site_info)
 

    

   

  

解决方法

对于Json,我建议你先把它放在一个你可以在网上找到的Json查看器/阅读器中,看看数据如何更清晰,你想得到的信息在哪里。

这样的事情应该能让你得到你想要的信息:

for s in site_info['sizeSets']['Men']['sizes']:
    print(s['eur']+' '+ str(s['pieces']))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。