URL が 404 を返すためにコードに問題が発生していることが判明することは、Web スクレイピングでよくある問題点です。これを効率的に解決するには、コードの開始時に URL に 404 応答があるかどうかを確認するテストを実装することが不可欠です。
@fsockopen() を使用するような提案ではリダイレクトが考慮されていない可能性がありますが、より適切なアプローチは、カールのcurl_getinfo()関数。その方法は次のとおりです:
// Initialize a cURL handle with the given URL $handle = curl_init($url); // Enable return of transfer as a string curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE); // Get the response (HTML or data linked to the URL) $response = curl_exec($handle); // Check for 404 (file not found) response $httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE); // Handle 404 if ($httpCode == 404) { /* Perform your custom 404 handling here. */ } // Close the curl session curl_close($handle); // Continue processing with the retrieved $response
このコードを組み込むことで、404 レスポンスを効果的にチェックでき、コードで問題のある URL をスキップして、利用可能な URL に進むことができます。
以上がWeb スクレイピングの前に PHP で 404 エラーを効率的にチェックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。