Извлеките исходный код динамического веб-сайта с помощью python (минуя onclick)

StackOverflow https://stackoverflow.com/questions/1879876

Вопрос

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

<a onclick="function(); return false" href="#">Link</a>

Это останавливает меня от прямого запроса URL-адреса, который позволил бы мне получить динамически сгенерированный веб-сайт (urllib / 2).

Как можно было бы получить исходный код веб-сайта, который был сгенерирован с помощью вышеупомянутой функции (в HTML) с помощью python?Существует ли способ обойти return false" href="#"?Или тот onclick полностью и получить фактический URL?

Если есть другой способ сгенерировать веб-сайт по приведенной выше абстрактной ссылке, чтобы его можно было получить из urllib на python, пожалуйста, отсылайте меня к нему.


Редактировать:

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

Ссылка на .js - http://a.quizlet.com/j/english/create_setku80j8.js

Ссылка на сайт со ссылкой:

<a onclick="importText(); return false" href="#">Bulk-import data</a>

Фактический URL сайта: http://quizlet.com/create_set/

Украшенный JS из соответствующего .js выше: http://pastie.org/737042

Это было полезно?

Решение

Я не сразу вижу какой-либо код для генерации контента или перехода по ссылкам в этом скрипте;ВСЕ importText делает это переключение, отображаются ли несколько divs.

Если вы хотите изучить вызовы веб-приложения для выполнения определенного действия, чтобы воспроизвести их с помощью бота, вам, вероятно, лучше всего посмотреть на HTTP-запросы (отправку форм и вызовы AJAX), которые браузер выполняет во время выполнения этого действия.Вы можете использовать панель ‘Net’ Firebug, чтобы изучить это для Firefox, или Fiddler для IE.

Другие советы

Вероятно, вам придется перепроектировать JavaScript, чтобы понять, что происходит.

Можете ли вы предоставить сайт и ссылку, о которой идет речь?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top