Я написал скрипт на python, используя модуль запросов вместе с библиотекой BeautifulSoup и модулем re, чтобы получить скрипт, в котором доступно хорошо отформатированное содержимое json. Дело в том, что мне нравится использовать re, чтобы выделять ту самую часть из общего грязного сценария.
Этот скрипт находится внутри исходного кода, содержащего var masterCompanyData =
.
Ссылка на сайт
Так выглядит сценарий с содержимым json (можно увидеть выполнение следующего сценария):
import re
import requests
from bs4 import BeautifulSoup
url = 'https://conference.iste.org/2019/exhibitors/floorplan.php'
r = requests.get(url)
soup = BeautifulSoup(r.text,"lxml")
script = soup.select_one("script:contains('masterCompanyData')").text
# p = re.compile(r'masterCompanyData = (.*);')
# jsonContent = p.findall(script)
# print(jsonContent)
print(script)
Манипуляции со строками, которые помогли мне узнать, что:
items = soup.select_one("script:contains('masterCompanyData = ')").text.split("masterCompanyData = ")[1].split("Holder for the current zoom value")[0].split("/**")[0].replace(";","").strip()
Поскольку я успешно выкопал эту часть, используя манипуляции со строками, я не хочу идти по этому пути; скорее, мне нравится извлекать контент json с помощью регулярных выражений, но я получаю пустой список.
Как я могу получить этот контент JSON с помощью регулярных выражений?