Я собираю сайт с красивым супом, чтобы получить изображения / изображения, до сих пор это работало нормально для каждого сайта, и мне даже удалось создать несколько пользовательских типов дел. Но один конкретный сайт вызывает у меня проблемы, так как iit возвращает все изображения в JavaScript объекте, встроенном в тег скрипта. Объект довольно большой, поскольку в нем содержится вся информация о продукте. Указанный c бит, который я ищу, достаточно глубоко вложен в productArticleDetails> [идентификатор продукта]> normalImages> thumbnail> [путь к изображению]. Вот так:
<script>
var productArticleDetails = {
...
'0399310001': {
...
'normalImages': [
{
'thumbnail': '//image-path.jpg',
...
}
]
}
}
Так что я хочу просто извлечь путь к изображению.
Это также не единственная вещь, завернутая в тег сценария в возвращенном 'супе', есть загружает другие теги javascript в коде. Итак, я сохранил HTML в переменной и затем запустил:
soup = BeautifulSoup(html)
scripts = soup.find_all('script')
Итак, у меня остался объект, который содержит все элементы <script>
из html
Каким-то образом в этом объекте scripts
мне нужно найти указанный узел c в правильном фрагменте JS и вернуть значение узла thumbnail
, который вложен в узел normalImages
, который, в свою очередь, будет вложенный в строку чисел, которая в конечном итоге все сохраняется в productArticleDetails
var.
Я полагаю, мне нужно сделать for
l oop над scripts
объектом, но мне не повезло, вычисляя как извлечь этот указанный c бит данных. Все остальное, что я видел, работает при условии, что есть только 1 бит javaScript, а искомое значение не является вложенным.
Кто-нибудь может помочь? Приветствия.