Как парсить HTML, скрытый за JS-скриптамиPython

Программы на Python
Ответить
Anonymous
 Как парсить HTML, скрытый за JS-скриптами

Сообщение Anonymous »

У FCC есть база данных с подробной информацией о различных лицензиях на вещание. Многие из этих лицензий имеют такие страницы.
Большую часть данных на этих страницах (и связанных с ними) можно очень легко очистить с помощью комбинации стандартной библиотеки запросов и BeautifulSoup4. Вы просто парсите HTML, выбираете нужные данные, и все готово.
Я использовал тот же подход для извлечения этой таблицы спектра и рыночной площади (на фото ниже), но столкнулись с препятствием.
Таблица, которую я хочу извлечь со страницы
Хотя отдельные строки таблицы можно проверить с помощью инструментов разработки браузера, когда я очищаю HTML с помощью чего-то вроде это:

Код: Выделить всё

import requests

url = "https://wireless2.fcc.gov/UlsApp/UlsSearch/leasesList.jsp?licKey=2591153"
output_file = "license_page_leases.html"
response = requests.get(url)

with open(output_file, "w", encoding="utf-8") as file:
file.write(response.text)
... никакая часть самой таблицы не загружается - все, что я получаю, это javascript, который генерирует таблицу.
Итак, мой вопрос : как мне очистить данные в такой таблице?
Я пробовал разные подобные способы очистки этой таблицы.
Я также пытался выяснить, существует ли какая-то базовая структура запроса, которая позволила бы мне сделать запрос более подробно. напрямую в свою базу данных, но безуспешно.
Если есть очевидное решение, которое я упускаю, я бы хотел знать, но мне не обязательно, чтобы кто-то решил эту проблему я - Я здесь, потому что мне нужен совет, как исследовать эту структуру. Я не знаю, как это назвать, когда HTML-код генерируется на лету, поэтому сложно найти методы его получения.
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... js-scripts
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»