在python中如何在双大括号内刮取特定数据

在python中如何在双大括号内刮取特定数据,python,json,Python,Json,我试图从一个网站的双卷曲{}中的字符串中刮取一个特定的数据。如何才能取出这些数据?以下是网站上的双卷发剪报: <div class="swatch-data"> {"thumbnailImageUrl":"https://www.jbl.com.ph/dw/image/v2/AAUJ_PRD/on/demandware.static/-/Sites-masterCatalog_Harman/default/dw367304ef/JBL_Endurance-SPRINT_Product

我试图从一个网站的双卷曲{}中的字符串中刮取一个特定的数据。如何才能取出这些数据?以下是网站上的双卷发剪报:

<div class="swatch-data">
{"thumbnailImageUrl":"https://www.jbl.com.ph/dw/image/v2/AAUJ_PRD/on/demandware.static/-/Sites-masterCatalog_Harman/default/dw367304ef/JBL_Endurance-SPRINT_Product-Image_Black_Front-1605x1605px.jpg?sw=270&amp;sh=330&amp;sm=fit&amp;sfrm=png","productUrl":"https://www.jbl.com.ph/JBL+Endurance+SPRINT.html?cgid=in-ear-headphones&amp;dwvar_JBL%20Endurance%20SPRINT_color=Black-GLOBAL-","productSupportUrl":"","productID":"JBLENDURSPRINTBLK","orderable":false,"availability":{"message":"","status":"NOT_AVAILABLE"},"price":{"unitLabel":"each","priceType":"standard","salesPrice":"N/A"},"realprice":{"salesPrice":"N/A"},"badges":["new"],"buttonText":"Sold Out","showProdLimit":{"status":""},"CTAEnable":true,"commerceSiteFlag":false,"showPromoTimerFlag":false,"isProProd":false}
</div>

{“thumbnailImageUrl”:https://www.jbl.com.ph/dw/image/v2/AAUJ_PRD/on/demandware.static/-/Sites-masterCatalog_Harman/default/dw367304ef/JBL_Endurance-SPRINT_Product-Image_Black_Front-1605x1605px.jpg?sw=270&;sh=330&;sm=fit&;sfrm=png;“产品URL”:"https://www.jbl.com.ph/JBL+耐力+SPRINT.html?cgid=入耳式耳机&;dwvar_JBL%20耐力%20SPRINT\u color=Black GLOBAL-“,”productSupportUrl:“,”productID:“JBLENDURSPRINTBLK”,“orderable:”false,“availability:“{”消息“:”状态“:”不可用“,”价格“:{”unitLabel:“每个”,“价格类型”:“标准”,“销售价格”:“不适用”,realprice:{”salesPrice:“N/A”},“徽章”:[“new”],“buttonText:“售罄”,“showProdLimit:{“状态”:“}”,CTAABLE:“真”,commerceSiteFlag:“假”,ShowPromotTimerFlag:“假”,isProProd:“假”}
多谢各位

编辑:
顺便说一句,我确实使用了BeautifulSoup4,只是我真的只是一个noob,还没有谈到JSON。

你在这里看到的实际上是一个

首先需要取出div。使用是推荐的方法之一

然后,您可以使用
json加载字符串。使用


你想提取什么?你想提取什么?因为你有标签而且bs4很简单。这就是堆栈溢出正在失去尊重的原因。这个问题被否决了,因为否决者显然无法区分JSON和HTML。(PS好问题,lukayl。)@pkpkpk我想提取“productID”:“JBLENDURSPRINTBLK”“从花括号里。@0709_u4我正在试着用BeautifulSoup4。
import bs4
import json

html = """
<div class="swatch-data">
{"thumbnailImageUrl":"https://www.jbl.com.ph/dw/image/v2/AAUJ_PRD/on/demandware.static/-/Sites-masterCatalog_Harman/default/dw367304ef/JBL_Endurance-SPRINT_Product-Image_Black_Front-1605x1605px.jpg?sw=270&amp;sh=330&amp;sm=fit&amp;sfrm=png","productUrl":"https://www.jbl.com.ph/JBL+Endurance+SPRINT.html?cgid=in-ear-headphones&amp;dwvar_JBL%20Endurance%20SPRINT_color=Black-GLOBAL-","productSupportUrl":"","productID":"JBLENDURSPRINTBLK","orderable":false,"availability":{"message":"","status":"NOT_AVAILABLE"},"price":{"unitLabel":"each","priceType":"standard","salesPrice":"N/A"},"realprice":{"salesPrice":"N/A"},"badges":["new"],"buttonText":"Sold Out","showProdLimit":{"status":""},"CTAEnable":true,"commerceSiteFlag":false,"showPromoTimerFlag":false,"isProProd":false}
</div>
"""

soup=bs4.BeautifulSoup(html,'lxml')
js_data = json.loads(soup.find('div').text)

# if you want productID just get it
print(js_data['productID'])
JBLENDURSPRINTBLK