我写了一个脚本来抓取一个网站。在该站点的html中,我设法找到了我想要的json文件。这是json https://www.slamjam.com/on/demandware.store/Sites-slamjam-Site/en_IT/Product-Variation?dwvar_J143632_color=&pid=J143632&quantity=1
在这个json中,我想通过输入另一个元素来找到一个特定的元素。让我解释一下。我感兴趣的部分是:
{
"attributeId": "size",
"displayName": "Size",
"id": "size",
"swatchable": false,
"values": [
{
"id": "WFOX04-2",
"description": null,
"displayValue": "36",
"value": "WFOX04-2",
"selected": false,
"selectable": true,
"availability": 1,
"productID": "2000138270021",
"price": 120,
"url": "https://www.slamjam.com/on/demandware.store/Sites-slamjam-Site/en_IT/Product-Variation?dwvar_J143632_color=F19-105&dwvar_J143632_size=WFOX04-2&pid=J143632&quantity=1"
},
{
"id": "WFOX04-3",
"description": null,
"displayValue": "36.5",
"value": "WFOX04-3",
"selected": false,
"selectable": true,
"availability": 1,
"productID": "2000138270038",
"price": 120,
"url": "https://www.slamjam.com/on/demandware.store/Sites-slamjam-Site/en_IT/Product-Variation?dwvar_J143632_color=F19-105&dwvar_J143632_size=WFOX04-3&pid=J143632&quantity=1"我想输入一个像'36‘这样的"displayValue“,如果脚本能找到这个值,它就必须打印"productID”。我在这个论坛上搜索,搜索和尝试了很多次,但每次都失败了。我写的最后一段代码是:
from jsondb.db import Database
data = Database('/Users/MIKE/Desktop/EIS_BOT/File.json')
for id in data['sizes']:
if element['displayValue'] == '36':
print('36 in stock')
print(element['productID'])
break
else:
print ('36 not in stock')谢谢。编辑:代码显然不是这里的全部,它更多,但它在这一点上是完美的
发布于 2019-11-14 00:06:01
尝试更改此设置:
if element['displayValue'] == '36':至
if '36' in element['displayValue']:这将返回任何包含36的字符串。
https://stackoverflow.com/questions/58841040
复制相似问题