Вы можете узнать все сетевые события, которые возвращают содержание типа JavaScript, с помощью обезглавленный браузера. В приведенном ниже примере я буду использовать phantomjs для извлечения событий, которые вызвали ответ типа javascript на самой странице вопроса stackoverflow. Таким образом, в основном мы будем стараться, чтобы захватить эти события:
$ cat example.js
"use strict";
var page = require('webpage').create(),
system = require('system'),
address;
address = 'http://stackoverflow.com/q/42036173/1005215';
page.onResourceReceived = function (res) {
if (res.contentType.match(/javascript/)) {
console.log(res.url)
}
};
page.open(address, function (status) {
if (status !== 'success') {
console.log('FAIL to load the address');
}
phantom.exit();
});
$ ./node_modules/phantomjs/bin/phantomjs example.js
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
https://cdn.sstatic.net/Js/stub.en.js?v=fb1e02135f20
https://cdn.sstatic.net/Js/stub.en.js?v=fb1e02135f20
https://cdn.sstatic.net/clc/clc.min.js?v=e297fe5bed6f
https://cdn.sstatic.net/clc/clc.min.js?v=e297fe5bed6f
https://cdn.sstatic.net/Js/full-anon.en.js?v=a0fe0d0994a1
https://cdn.sstatic.net/Js/full-anon.en.js?v=a0fe0d0994a1
http://edge.quantserve.com/quant.js
http://static.adzerk.net/ados.js
http://edge.quantserve.com/quant.js
http://static.adzerk.net/ados.js
https://cdn.sstatic.net/Js/snippet-javascript.en.js?v=c681521379d1
https://cdn.sstatic.net/Js/post-validation.en.js?v=fce27e94a6e2
https://cdn.sstatic.net/Js/snippet-javascript.en.js?v=c681521379d1
https://cdn.sstatic.net/Js/post-validation.en.js?v=fce27e94a6e2
https://cdn.sstatic.net/Js/external-editor.en.js?v=fc20a49e5703
https://www.google-analytics.com/analytics.js
http://b.scorecardresearch.com/beacon.js
https://cdn.sstatic.net/Js/external-editor.en.js?v=fc20a49e5703
https://www.google-analytics.com/analytics.js
http://b.scorecardresearch.com/beacon.js
https://cdn.sstatic.net/Js/prettify-full.en.js?v=c8fdcebf5ffa
https://cdn.sstatic.net/Js/prettify-full.en.js?v=c8fdcebf5ffa
http://engine.adzerk.net/ados?t=1486193384630&request=%7B%22Placements%22:[%7B%22A%22:22,%22S%22:8277,%22D%22:%22adzerk1757851126%22,%22AT%22:4,%22Z%22:[43]%7D,%7B%22A%22:22,%22S%22:8277,%22D%22:%22adzerk8365673
47%22,%22ATA%22:[5,17,2221],%22Z%22:[45]%7D],%22Keywords%22:%22javascript%2Cnode.js%2Crequest%22,%22Referrer%22:%22%22,%22IsAsync%22:true%7D
http://engine.adzerk.net/ados?t=1486193384630&request=%7B%22Placements%22:[%7B%22A%22:22,%22S%22:8277,%22D%22:%22adzerk1757851126%22,%22AT%22:4,%22Z%22:[43]%7D,%7B%22A%22:22,%22S%22:8277,%22D%22:%22adzerk8365673
47%22,%22ATA%22:[5,17,2221],%22Z%22:[45]%7D],%22Keywords%22:%22javascript%2Cnode.js%2Crequest%22,%22Referrer%22:%22%22,%22IsAsync%22:true%7D
http://static.adzerk.net/Extensions/adFeedback.js
http://static.adzerk.net/Extensions/adFeedback.js
https://www.googletagservices.com/dcm/dcmads.js
https://www.googletagservices.com/dcm/dcmads.js
https://www.googletagservices.com/dcm/impl_v37.js
https://www.googletagservices.com/dcm/impl_v37.js
http://pagead2.googlesyndication.com/pagead/osd.js
http://pagead2.googlesyndication.com/pagead/osd.js
https://clc.stackoverflow.com/markup.js?omni=AndQltTPTNQIAAAAAM1rgQICAAAAAgAAAAAcAAAAfGphdmFzY3JpcHR8bm9kZS5qc3xyZXF1ZXN0fAAPFwvS4zhP5nDC&lw=460&zc=25&pf=9
https://clc.stackoverflow.com/markup.js?omni=AndQltTPTNQIAAAAAM1rgQICAAAAAgAAAAAcAAAAfGphdmFzY3JpcHR8bm9kZS5qc3xyZXF1ZXN0fAAPFwvS4zhP5nDC&lw=460&zc=25&pf=9
https://pagead2.googlesyndication.com/pagead/js/r20170130/r20110914/activeview/osd_listener.js
https://pagead2.googlesyndication.com/pagead/js/r20170130/r20110914/activeview/osd_listener.js
https://tpc.googlesyndication.com/sodar/akyi97Q8.js
https://tpc.googlesyndication.com/sodar/akyi97Q8.js
https://pagead2.googlesyndication.com/bg/Ro40R1A0hMb7Dr8cRp0qxN1ZFlZvSN3Q_N9oN3lQJ6s.js
https://pagead2.googlesyndication.com/bg/Ro40R1A0hMb7Dr8cRp0qxN1ZFlZvSN3Q_N9oN3lQJ6s.js
Вы можете использовать DOM парсер, чтобы найти тег сценария. Это позаботится обо всех статически вставленных тегах скрипта, но не найдет теги скриптов, которые вставляются через Javascript, когда страница действительно выполняется в браузере. – jfriend00