BS4 не выполняет синтаксический анализ javascript, из POV объекта Tag
объекта BS4 текст в теге <script>
- это просто текст. Я понятия не имею, как выглядит этот скрипт (поскольку вы его не опубликовали, и я не собираюсь пытаться его найти), но если бы вы ожидали, что script ['goodsInfo']
вернет значение JS переменные с именем 'goodInfo', плохие новости, это не сработает.
Кроме того, Javascript не является JSON, так что вероятность того, что фрагмент JS будет действительным json довольно малы, чтобы не сказать больше. Правильный синтаксис для его проверки будет очень похож на тот, который вы использовали для первого варианта использования, ie json.loads(script.text)
, но я предполагаю, что это первое, что вы попробовали; -)
Итак, Боюсь, вам придется вручную проанализировать этот скрипт, чтобы извлечь соответствующую часть. В зависимости от того, как выглядит код js, это может быть вопрос нескольких строк базового c разбора строк / регулярных выражений или же может потребоваться правильный Javascript синтаксический анализатор и c.