Работа с HTML, созданным из JavaScript - PullRequest
0 голосов
/ 14 мая 2010

У меня есть html-страница. Существует JavaScript, который генерирует некоторый контент. Я должен разобрать этот контент из python-скрипта. Я сохранил копию файла на компьютере. Есть ли какие-либо способы работы с уже созданным html? Как я могу видеть в браузере после открытия файла подкачки. Как я понимаю, мне нужно работать с DOM (может быть, xml2dom lib).

Ответы [ 2 ]

2 голосов
/ 14 мая 2010

Вы сохранили «файл» (я полагаю, веб-страницу) до или после того, как Javascript изменил его?

Если «после», то больше не имеет значения, что часть HTML была сделана через Javascript - вы можете просто использовать популярные парсеры, такие как lxml или BeautifulSoup для обрабатывать HTML у вас есть.

Если «до», то сначала вам нужно позволить Javascript выполнять свою работу, автоматизируя настоящий браузер; для этой задачи я бы порекомендовал SeleniumRC - что возвращает вас к делу "после"; -).

0 голосов
/ 14 мая 2010

Я думаю, что у вас может быть фундаментальное недопонимание в отношении того, что работает, где: В то время, когда JavaScript генерирует контент (на стороне клиента), обработка документа на стороне сервера уже произошла. Для сценария Python на стороне сервера нет прямого доступа к HTML, созданному JavaScript. По сути, этот HTML живет только «виртуально» в DOM браузера.

Вам нужно будет найти способ передать этот HTML в ваш скрипт Python. Скорее всего с использованием Ajax. Вы бы взяли HTML-код и добавили его в качестве параметра к своему вызову Ajax (не забывайте использовать POST в качестве метода запроса, чтобы у вас не возникало проблем с ограничением размера.)

Пример использования функций jJuery AJAX :

$.ajax({ 
  url: "myscript.py", 
  type: "POST",
  data: { html: your_html_content_here },
  success: function(){
    alert("sent HTML to python script!");
  }});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...