[解決済み] PhantomJSを用いたWebスクレイピング
質問
実行する関数を指定せずに、ブラウザと全く同じようにWebページ内のすべてのJavaScriptを実行する方法はありますか?私が見たほとんどの例では、これらは、掻き集められたウェブページから実行したいJavaScriptの部分を指定するようです。私はすべてのコンテンツをスクレイピングし、ブラウザのようにすべてのJavaScriptを実行し、google inspectを使って見ることができる最終的な実行コードを取得する必要があるのですか?
何か方法があるはずなのですが、PhantomJSのサンプルコードには、これに対応する例がないようでした。
どのように解決するのですか?
PhantomJSでページから実行されるものを指定しない。PhantomJSでページを開くと、ChromeやFirefoxで実行されるすべてのJavaScriptが、PhantomJSでも実行されます。これは、head"のないフルブラウザです。
しかし、いくつかの相違点があります。ダウンロードリンクをクリックしても、ダウンロードが開始されません。PhantomJS 1.xがベースにしているレンダリングエンジンは4年近く前のものなので、PhantomJS 1.xがその機能をサポートしていない可能性があり、いくつかのページは単に異なる方法でレンダリングされています。(PhantomJS 2は現在開発中で、非公式なquot;alpha"の状態です)
そのため、ユーザーがページ上で行うすべてのインタラクションを、JavaScriptまたはCoffeeScriptでスクリプト化する必要があります。ページの関数を呼び出すのではありません。DOM要素を操作して、ユーザーがブラウザ上でページとやりとりしている様子をシミュレートするのです。これを行うには 粗雑 というのも、PhantomJS APIは高度なユーザーライク機能を提供していないからです。もしそれらが必要であれば、次のものを見る必要があります。 キャスパーJS PhantomJS/SlimerJSの上に構築されたものです。
そこで、実際に
click
,
wait
,
fetchText
など。
関連
-
[解決済み】XMLHttpRequestモジュールが定義されていない/見つからない
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] jQueryを使ってドロップダウンリスト(セレクトボックス)から選択されたテキストを取得する
-
[解決済み] Javascriptで文字列の最後の文字を切り取るにはどうしたらいいですか?
-
[解決済み] 画面サイズ、現在のウェブページ、ブラウザウィンドウのサイズを取得する
-
[解決済み] forEachループでasync/awaitを使用する
-
[解決済み] JavaScriptでドロップダウンリストの選択値を取得する
-
[解決済み] jQueryを使ったAjaxリクエストの中断
-
[解決済み] JavaScriptでページの一番上までスクロールする?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】node.js TypeError: path must be absolute or specify root to res.sendFile [JSONのパースに失敗しました]。
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み】TypeError: 'undefined'はオブジェクトではありません。
-
[解決済み】NodeJS "ESモジュールをロードするためにインポートを使用する必要があります。"
-
[解決済み】JavaScriptのinnerHTMLで要素が更新されない
-
[解決済み】Uncaught ReferenceError。Reactが定義されていない
-
[解決済み】XMLパースエラー:ルート要素が見つからない コンソールの場所 FF
-
[解決済み】 Uncaught Reference Error: stLight is not defined (in Chrome only)
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント
-
[解決済み】中央値の計算 - javascript