В настоящее время я хочу почистить некоторые данные со страницы Amazon, и я застрял.
Например, давайте возьмем эту страницу.
https://www.amazon.com/NIKE-Hyperfre3sh-Athletic-Sneakers-Shoes/dp/B01KWIUHAM/ref=sr_1_1_sspa?ie=UTF8&qid=1546731934&sr=8-1-spons&keywords=nike+shoes&psc=1
Я хотел очистить каждый вариант размера и цвета обуви. Эти данные можно найти, открыв исходный код и выполнив поиск по варианту.

Там мы можем видеть своего рода словарь, содержащий все размеры и цвета, а под ним в «asinToDimentionIndexMap» - каждый код продукта с номерами, указывающими вариант из словаря varValues.
Например, в asinToDimentionIndexMap мы можем видеть
"B01KWIUH5M":[0,0]
Это означает, что код продукта B01KWIUH5M связан с размером '8M US' (позиция 0 в разделе varValues size_name) и цветом 'Teal' (та же идея, что и раньше)
Я хочу очистить оба VariationValues и asinToDimentionIndexMap, чтобы я мог связать числа IndexMap с одним Varivalue.
Другой человек на сайте (спасибо за помощь, кстати) предложил сделать это таким образом.
script = response.xpath('//script/text()').extract_frist()
import re
# capture everything between {}
data = re.findall(script, '(\{.+?\}_')
import json
d = json.loads(data[0])
d['products'][0]
Я могу понять первую часть. Мы получаем все, что является «сценарием» в виде строки, а затем получаем все между {}. Вопрос в том, что происходит после этого. Мои знания json не так уж и хороши, и чтение некоторых вещей о них не очень помогло.
Есть ли способ получить из этих данных 2 словаря или списка с помощью varValues и asinToDimentionIndexMap? (возможно, используя некоторые регулярные выражения в середине, чтобы получить некоторые данные из большой строки). Или объясните немного, что происходит с частью JSON.
Спасибо за помощь!
РЕДАКТИРОВАТЬ: Добавлено фото вариацииValues и asinToDimensionIndexMap