Как программно читать DOM, сгенерированный Javascript? - PullRequest
1 голос
/ 06 января 2012

Я могу проверить любой DOM, сгенерированный Javascript, используя Firebug или другой отладчик.Firebug также позволяет мне в интерактивном режиме копировать сгенерированный innerHTML любого элемента в буфер обмена, чтобы я мог сохранить его на диск.

Существует ли система / инструмент, позволяющий программно выполнять эти интерактивные задачи?Такой инструмент / плагин должен уметь читать DOM, сгенерированный Javascript, и программно сохранять его на диск.

1 Ответ

1 голос
/ 06 января 2012

Я не знаю ни одного существующего инструмента, который позволил бы вам сделать это, поэтому вам, вероятно, нужно написать свой собственный скрипт для решения этой задачи.

Вы, безусловно, можете использовать библиотеку типа Селен для достижения этой цели.Используя его, вы даже можете выбрать, какой браузер вы хотите использовать для визуализации веб-сайта.

Если вы работаете в Linux, я также могу порекомендовать для этого свой собственный проект webkit-scraping (эта рекомендация, конечно, немного предвзята;).Он использует экземпляр Webkit в памяти для визуализации страницы и выполнения в ней Javascript.После компиляции сервера с cd webkit-server && qmake && make вы можете сделать что-то подобное в Python:

import os, sys

sys.path.insert(0, '/path/to/webkit-scraping/lib')
import webkit_scraping

URL = 'http://example.org'
OUTFILE = '/tmp/example.html'

if __name__ == '__main__':
  # set up a web scraping session
  driver = webkit_scraping.webkit_server.Driver()
  sess = webkit_scraping.scraping.Session(driver = driver)
  sess.visit(URL)

  with open(OUTFILE, 'wb') as f:
    f.write(sess.body())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...