0

http://gmail.comのソース コードをブラウザと file_get_contents から取得しましたが、どちらも異なります。

php、js、またはその他のプログラミング言語を使用して、ブラウザーに表示されているのと同じソースコードを取得するにはどうすればよいですか (しかし、私は php または js を好みます)

4

3 に答える 3

3

このライブラリSimple HTML Dom Parserを試してください。

と使用

$html = file_get_html('http://www.google.com/');
于 2013-01-29T10:26:08.953 に答える
1

ブラウザはの生成されたソースコードを表示google.comし、phpはもちろんJavascriptであるグーグルのそのインデックスファイルに書かれたテキストのみを取得します!

于 2013-01-29T10:22:02.043 に答える
1

gmail.com はほぼ確実にユーザー エージェントのスニッフィングを行い、リクエストを行ったブラウザに応じて出力を変更します (悪い習慣と見なされているにもかかわらず、Google が他のユーザーにペナルティを課しているにもかかわらず)。したがって、2 つの異なるブラウザー間でさえ、同じソース コードを取得する可能性は低いと思いますfile_get_contents

代わりに cURL ライブラリを使用して UA 文字列をスプーフィングすれば、どこかで問題が解決する可能性がありますが、それでも完全に機能するとは考えていません。

しかし、それを実行して機能したとしても、サイトとしての gmail.com は、動的に読み込まれるコンテンツに大きく依存しています。スクリプトの一部であっても、必要な場合にのみロードされます。gmail サイトを PHP スクリプトにロードすることがリモートで役立つ可能性があるとは考えられません。そして、思い通りにロードできたとしても、その後はどうなるでしょうか? コードは常に変更されているため、HTML コードを解析するプログラムを作成しようとすると、無駄でイライラすることになります。

本当の問題は、ここで何を達成しようとしているのかということだと思います。gmail からメールを読み込みたい場合は、そのようなことを行うための適切な API が提供されます。これは、gmail サイト自体を解析しようとするよりもはるかに優れた信頼性で機能します。これを行う理由は他にあまり思いつかないので、おそらく API を調べる必要があります。

PHP 用の Gmail API は、http: //code.google.com/p/gmail-api/downloads/detail?name=gmail-api.v0.1.phpからダウンロードできます。

于 2013-01-29T11:01:07.813 に答える