Распарсил HTML
from bs4 import BeautifulSoup
import re
soup = BeautifulSoup(content, 'lxml') # content is a html page
info = soup.findAll('script')
Получил JS с необходимыми данными, примерно такого содержания:
window.check = function(...) {
...
}
new.userData['old_info'] = '[{"name":"name", "sex":"sex", "limit":"limit},
{"name":"name", "sex":"sex", "limit":"limit},
{"name":"name", "sex":"sex", "limit":"limit}]'
Могу ли я достать инфо из переменной new.userData['old_info'] средствами bs? В доках по парсингу JS ничего не нашел. Подскажите подходящее решение, заранее благодарен.
Например так:
html = """
window.check = function(...) {
...
}
new.userData['old_info'] = '[{"name":"name", "sex":"sex", "limit":"limit"}]'
"""
import re
match = re.search(r"new.userData\['old_info'\] = '(.+)'", html)
if match:
import ast
old_info = ast.literal_eval(match.group(1))
print(old_info) # [{'name': 'name', 'limit': 'limit', 'sex': 'sex'}]
print(old_info[0]['name']) # name
Вместо ast можно попробовать json, только апострофы нужно будет на кавычки заменить
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники