#javascript #html #screen-scraping #web-scraping
#javascript #HTML #очистка экрана #очистка веб-страниц
Вопрос:
Я делал некоторую очистку, и на некоторых веб-сайтах я нашел ссылки на JS, подобные этому:
<script type="text/javascript">
unescape(""));
</script>
В таких случаях извлечь код скрипта тривиально (просто перейдите по ссылке). Но как мне получить код в подобных случаях:
<select ID="Spinner" class="text" onchange="javascript:IWantTheCodeOfThis();">
Возможно ли это вообще, или они хранятся на стороне сервера без доступа для клиента?
Ответ №1:
JavaScript всегда хранится на стороне сервера, но выполняется на стороне клиента, поэтому браузер должен получить доступ к нему в какой-то момент (в отличие, например, от PHP-кода).
То, что вы опубликовали, является вызовом JS-функции, поэтому функция «IWantTheCodeOfThis» должна находиться в одном из включенных файлов, которые «тривиальны для извлечения» 🙂
Ответ №2:
Вы могли бы использовать Chrome или Safari для работы с консолью и просмотра ресурсов. Вы также можете ввести IWantTheCodeOfThis
(без ()) в консоли, и вы, вероятно, увидите исходный код функции.
Ответ №3:
Вовсе нет. Любой доступ к Javascript уже должен быть на клиенте.
Для поиска местоположения функции рекомендуется использовать отладчик, подобный Firebug
или Chrome developer tools
. Оба явно показывают вам все доступные источники javascript на текущем сайте.
Ответ №4:
JavaScript выполняется на стороне клиента. Всегда.
IWantTheCodeOfThis() — это функция, которая должна быть в одном из JavaScript, загружаемых браузером. В большинстве новых браузеров есть некоторое время «инспектор», «меню разработки» или «инструменты разработчика», из которых вы можете просмотреть все загруженные скрипты и даже выполнить поиск по ним. Это есть во всех Safari, Chrome и Internet Explorer 8/9. В Firefox вы можете использовать Firebug.
Вы могли бы просмотреть скрипты вручную, но это было бы сложно, поскольку некоторые веб-сайты могут динамически загружать некоторые из своих JavaScripts.