2016-07-23 24 views
2

js-crawlerを使用してウェブサイトをクロールしていて、CNNの一部であるits landing page links are inside(何らかの理由で動的に生成されるURL)が発生しました。 本当にスクリプトに触れていないクローラです。どうすればいいですか?私のnode.jsクローラに加えて私自身のコードを書くべきですか?この動的な振る舞いをどのように処理するかを知っている高度なクローラはありますか?URLをクロールするurl node.jsで動的リンクを取得する方法

+1

クライアント側のJavascriptによって生成されるコンテンツをクロールすることは、Googleが完全に解決していないという複雑な問題です。真にそれを行うための唯一の方法は、あなたのサーバー上で何らかのヘッドレスブラウザを使用して、ページがブラウザのような環境にロードされ、独自のスクリプトを実行して独自のコンテンツを生成し、 DOM。それでも、必ずしもユーザーインタラクションを必要とするコンテンツを生成するとは限りません(コンテンツを表示するためにタブをクリックするなど)。 – jfriend00

+0

私はそれに投票することができるように応答する!ありがとうございました – user1025852

答えて

2

答えに私のコメントを作る:

は、クライアント側のJavaScriptによって生成されたコンテンツをクロールすることも、Googleは完全には解決していない複雑な問題です。

これを真に行う唯一の方法は、サーバーに安全にサンドボックス化されたある種のヘッドレスブラウザを使用して、ページがブラウザのような環境に読み込まれ、独自のスクリプトを実行して独自の結果のDOMを調べることができます。

でも、必ずしもユーザーインタラクションを必要とするコンテンツは生成されません(コンテンツを表示するためにタブをクリックするなど)。

関連する問題