JS или любой другой языковой хук при загрузке ресурсов на HTML-странице - PullRequest
1 голос
/ 23 февраля 2010

Чего я пытаюсь достичь:

  1. HTTP GET содержимое сайта (скажем, google.com)
  2. Затем используйте какой-нибудь хук или фильтр, который будет перехватывать все ресурсы, которые пытается загрузить эта страница (например, файлы CSS, все файлы JavaScript, все изображения, все фреймы и т. Д.)

Первое, что приходит в голову, - это проанализировать загруженную страницу / код и извлечь все теги, которые могут ссылаться на ресурс, однако их очень много, и некоторые из них хитрые, как фон изображения, объявленный в CSS, пример:

body {background-image:url('paper.gif');} 

Кроме того, мне нужно перехватить все ресурсы, которые предназначены для загрузки через JavaScript. Например, есть функция JS, которая будет генерировать URL-адрес, а затем интерпретировать его для загрузки ресурса.

По этой причине я думаю, что мне нужен какой-то крючок или фильтр / монитор.

Язык программирования не имеет значения (хотя было бы неплохо что-то, что работает на Unix-системах).

ОБНОВЛЕНИЕ: это должно быть автоматизированное решение.

Спасибо.

Ответы [ 3 ]

1 голос
/ 23 февраля 2010

Я предполагаю, что вы ищете полностью автоматизированное решение.

Существует несколько подходов к синтаксическому анализу файла (во всех основных языках сценариев, на основе wget и других), но ни один из тех, что я знаю об этом, на самом деле не может интерпретировать JavaScript (потому что это то, к чему это приведет к).

Я думаю, что единственный вариант, который у вас есть, - это настроить экземпляр Firefox (или другого современного браузера) на вашем Unix / Linux-боксе, передать ему URL-адрес и просмотреть / заблокировать все исходящие соединения, которые он пытается установить. На клиентском ПК это содержимое вкладки «Сеть» в Firebug. Я не знаю, насколько это можно автоматизировать без переписывания частей браузера. Может быть Selenium RC или один из других инструментов из набора Selenium является отправной точкой.

1 голос
/ 23 февраля 2010

Самый простой способ сделать это - написать Fiddler addon.

0 голосов
/ 23 февраля 2010

Вы всегда можете настроить прокси, например, fiddler и посмотреть трафик - все, кроме начального вызова страницы, будет дополнительными ресурсами, которые запрашиваются.

...