実行されたjavaScript名をいくつかのWebページから取得したい。
Node.jsにリクエストモジュールなどを使用する方法はありますか?
request.get('http://google.com', function(err, res, body){
... console.log(res.executedScriptNames);
})
ヘッドレスブラウザを使用して、タイプjavascriptのコンテンツを返すすべてのネットワークイベントを見つけることができます。以下の例では、phantomjsを使用して、このstackoverflow質問ページ自体でjavascriptタイプの応答をトリガーしたイベントをフェッチします。したがって、基本的には、これらのイベントをキャプチャしようとします。
$ 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
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加