2011-02-06 2 views
0

新しいWebページを開くと、画像がコンピュータにダウンロードされます。例:ウェブページに画像(image.jpg)がある場合、私たちのコンピュータはそのページをサーフィンしている間にダウンロードします。Curl preg_match

一部のWebページでは、ajaxメソッドが使用されています。例:コンピュータが画像をダウンロードするにもかかわらず、ページのソースコードに画像が表示されない。あなたはそのページ上のリンクをクリックすると、Ajaxがその画像を表示していますが、そのため...

は私が例を示しましょう:

<div id="ajax_will_load_image_here"></div> 

さて、どのようにカール参照をPHP(またはダウンロード)することができ、そのイメージを? preg_match関数を使用しようとすると、カールはその画像を見ることができません。実際にはイメージがあります。私はPHPのカールを使用してそのイメージをダウンロードしたい。何かアドバイス?

答えて

0

私が質問を正しく理解していれば、それを行うための納得のいく方法はありません。

あなたのクローラ/スパイダーはウェブサイトを解析し、javascriptを評価する必要があります。

ライブラリがありますが、サポートは非​​常に限られています。

ただし、実際のブラウザを使用してページを表示する(表示せずに、解像度などの適切な環境変数を設定する)方法があります。

次に、javascript domの変更を含む生成されたソースが利用できます。

これは、たとえばGoogle検索のプレビューがどのように生成されるかです。

しかし、ユーザーとのやり取りが必要な場合は、かなり具体的で複雑になります。

私はあなたをdissapointして申し訳ありませんが、カールとプリグメッチを使用して私たちが以前に使用した古い学校の方法は、javascriptがまだ普及していないときに使用されていました。

しかし、ほとんどの正当なユースケースでは、これ以上のものであり、今日ではウェブサイトが非ジャバスクリプト対応になるようにますます設計されています。特に、クロール目的のコンテンツ。それは検索エンジン最適化の必要性であり、どのウェブサイトがそれを望んでいないのですか?