Как загрузить значения JavaScript в Python с веб-страницы? - PullRequest
0 голосов
/ 13 марта 2019

Когда я проверяю код на веб-странице, я вижу html и javascript.Я использовал Beautiful Soup для импорта и анализа html, но есть большой раздел, написанный на javascript, который извлекает переменные из программируемого логического контроллера (PLC).Я не могу найти данные в python после загрузки и анализа с Beautiful Soup - это всего лишь HTML-код.

ПЛК читается непосредственно с веб-страницы, и я вижу, что передо мной обновляются текущие значения, но я не могу импортировать их напрямую.Снимок экрана - это то, как выглядит код из окна проверки.Допустим, я хочу импортировать эту переменную id="aout7" с атрибутом class="on", как я могу это сделать?

Inspect View Source of webpage

1 Ответ

1 голос
/ 13 марта 2019

Веб-страницы лучше всего запускать в браузере.Существуют API для удаленного управления браузером / движком браузера, популярным является Selenium , и он имеет привязки Python: см. https://pypi.org/project/selenium/ - на странице содержатся инструкции по установке:

pip install -U selenium

и некоторые вводные примеры, например, этот фрагмент кода при поиске в Yahoo:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Firefox()

browser.get('http://www.yahoo.com')
assert 'Yahoo' in browser.title

elem = browser.find_element_by_name('p')  # Find the search box
elem.send_keys('seleniumhq' + Keys.RETURN)

browser.quit()

Вам потребуется нечто подобное, только с find_element_by_id (https://selenium -python.readthedocs.io / locating-elements.html ) и используйте атрибут text элементов для чтения их содержимого.

...