私は1つのウェブサイトのデータをクロールしています。私はページ上のすべてのコンテンツにアクセスできます。しかし、ページ上の一部のデータは、いくつかのアイコンの上に置かれた後、ツールチップとして表示されます。だから私はそのデータも必要です。任意のクローラで可能ですか?クローラのPHPでホバーデータ(ajax)を取得する方法
私はPHPとsimplehtmldomを解析/クロールのページに使用しています。
私は1つのウェブサイトのデータをクロールしています。私はページ上のすべてのコンテンツにアクセスできます。しかし、ページ上の一部のデータは、いくつかのアイコンの上に置かれた後、ツールチップとして表示されます。だから私はそのデータも必要です。任意のクローラで可能ですか?クローラのPHPでホバーデータ(ajax)を取得する方法
私はPHPとsimplehtmldomを解析/クロールのページに使用しています。
ホバーデータはクローラーによって取得できません。
クローラは、Webページをクロールし、データ全体(HTMLページソース)を取得します。私たちがURLを押すとすぐに見ることができるビューです。マウスを動かすには、ページ上のHTML属性(手動アクション)を必要とします。現在のところ、クローラは、私の知る限り、ホバリングとそのデータを取得するためのアクションを行いません。したがって、クローラによってホバーデータを取得することはできません。
1つの可能性は、javacript interpeter(このhttp://php.net/manual/en/book.v8js.phpをよく見て、必要なものかもしれません)を使用してjavascriptを実行してから、必要な要素にホバーイベントを発生させるためのJavaScriptコードを追加します。
ページにAJAXを使用して必要なフィールドを入力する場合は、Firebugのようなツールを使用してAJAX呼び出しを表示し、コード内で再作成して不足しているDOM要素を埋め込むことができます。
もう1つの方法は、クローラを再考し、おそらくブラウザベースのクローラを使用することです。これは私が多くの経験を持っていないものですが、私は他の人がこれをやったと確信しています。
Seleniumを調べることをおすすめします。私は何度も使ってきましたが、間違いなく行うことができますonmouseover
データベースにデータを挿入するにはクローラが必要です。クローラではありません。 –
単純なPHPカールとのユーザーのやりとりが必要な動的ソースコードを入手することはできません。ただし、PhantomJSを使用すると、ホバー状態を達成し、将来のページのAjaxロードを取得できます。学習曲線があり、サーバーにnode.jsをインストールして、権限があるかどうかを確認する必要があります。
PhantomJSあなたのコマンドでページを訪問するヘッドレスWebkitブラウザであるため、onmouseoverまたはdynamic ajaxコンテンツを取得できます。
tp crawle動的データが必要ですか?アヤックスのような反応? – safarov
ホバリング時にajaxによって表示されるHtmlデータは、「」にあります。私はそのデータを解析したい。 –