0

php でページを解析する必要があります。ページの URL は 302 になります一時的にヘッダーが移動され、見つからないページに移動されます。そのデータは、mozilla の firebug アドオンのコンソール オプションを使用して手動で取得できます。 php を使用して解析するには、見返りにページが見つからないことがわかります。そのページを解析するにはどうすればよいですか??

編集:ページのコンテンツを取得するためにこのようなことをしています

$file_results = @fopen("http://www.the url to be parses","rb");
    $parsed_results='';
    if($file_results)
    {
        while ($data3 = fread($file_results,"125000"))
        $parsed_results .= $data3;
    }
4

2 に答える 2

1

get_headers()を使用して、リダイレクト中にすべてのヘッダーを見つけることができます。

$url = 'http://google.com';
$headers = get_headers($url, 1);

print 'First step gave: ' . $headers[0] . '<br />';

// uncomment below to see the different redirection URLs
// print_r($headers['Location']);

// $headers['Location'] will contain either the redirect URL, or an array
// of redirection URLs
$first_redirect_url = isset($headers['Location'][0]) ?
    $headers['Location'][0] : $headers['Location'];

print "First redirection is to: {$first_redirect_url}<br />";

// assuming you have fopen wrappers enabled...
print file_get_contents($first_redirect_url);

そして、必要なリソースが得られるまで探し続けますか?

于 2010-01-21T06:35:06.183 に答える
0

ヘッダーを読んで、リダイレクト先を確認し、別のリクエストを行って実際のリソースを取得する必要があります。ちょっと面倒ですが、それがプロトコルの仕組みです。ほとんどのブラウザはこれを透過的に行います。

于 2010-01-21T05:47:28.153 に答える