Как анализировать результаты JavaScript с помощью Python

0

У меня проблемы с моим скриптом Python. Все, что я хочу сделать, это разобрать элемент div с значением id: value и сохранить все измененные значения. Значение этого элемента генерируется javascript. Это означает, что значение элемента зависит от пользовательского ввода. Чтобы быть более конкретным, элемент html выглядит так:

<div id="value">...Here the frequently changed value generated by javascript...</div>

Мой скрипт python следующий:

from bs4 import BeautifulSoup
import urllib
x=urllib.urlopen("http://example.com")
s = x.read()
soup = BeautifulSoup(s)

m = soup.find("div",{"id":"value"})
val = m.text
print val

Результат - Нет, но на веб-странице изменения очевидны! Пожалуйста, помогите мне разобраться.

  • 0
    Ваш код выглядит хорошо. Вы можете проверить x.getcode() чтобы убедиться, что вы действительно загружаете страницу (она должна возвращать 200).
Теги:
beautifulsoup

1 ответ

0

Если значение генерируется javascript - самым простым решением будет использование реального браузера для обхода веб-страницы. Это поможет селен. Вот простой пример:

from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://example.com')

element = browser.find_element_by_id('value')
print element.text
  • 0
    У меня проблемы с установкой модуля селена. Является ли Splinter чем-то похожим на Selenium?
  • 0
    @ ather0s splinter - это просто слой абстракции поверх селена и других библиотек.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню