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

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

<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


person torger    schedule 10.12.2009    source источник
comment
Я разработчик Quizlet. Возможно, вы можете дать мне знать, как я могу помочь :) У нас есть доступный API...   -  person philfreo    schedule 18.05.2010


Ответы (2)


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

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

person bobince    schedule 10.12.2009
comment
Это так, позвольте мне взглянуть на источник сайта более внимательно. - person torger; 14.12.2009

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

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

person Jase Whatson    schedule 10.12.2009
comment
quizlet.com/create_set — вам необходимо создать учетную запись ›.›. Как можно заняться реверс-инжинирингом Javascript? - person torger; 10.12.2009
comment
Это так, что я могу импортировать свой набор карт -› без запуска веб-браузера. Их API позволяет только звонки и не вводит ‹.‹. - person torger; 10.12.2009
comment
Javascript с соответствующей функцией importText() — a.quizlet.com/j/english/create_setku80j8. js. - person torger; 10.12.2009