首頁 >後端開發 >php教程 >如何有效處理 PHP 網頁抓取過程中的 404 錯誤?

如何有效處理 PHP 網頁抓取過程中的 404 錯誤?

Barbara Streisand
Barbara Streisand原創
2024-12-03 06:48:09159瀏覽

How to Effectively Handle 404 Errors During Web Scraping in PHP?

如何有效處理PHP 中的404 錯誤

抓取網頁時,遇到404(找不到)錯誤可能會中斷您的代碼流程。為了避免此類中斷,必須從一開始就實現強大的 URL 驗證。

fsockopen 方法限制

部落格建議使用 fsockopen() 有局限性,特別是在以下情況下處理重定向。即使對於有效的 URL,它也可能會傳回空的 $valid 值。

引入curl和curl_getinfo()

PHP的curl庫提供了一種有效處理重定向和返回的替代方法の詳細なHTTP情報をします。使用curl_getinfo(),執行後可以檢索HTTP狀態碼cURL 請求。以下是使用curl 檢查 404 錯誤的範例程式碼:

$handle = curl_init($url);
curl_setopt($handle,  CURLOPT_RETURNTRANSFER, TRUE);

/* Get the HTML or whatever is linked in $url. */
$response = curl_exec($handle);

/* Check for 404 (file not found). */
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
if($httpCode == 404) {
    /* Handle 404 here. */
}

curl_close($handle);

/* Handle $response here. */

在此程式碼中:

  • cURL 會話是使用curl_init() 初始化的。
  • curl_setopt() 設定會話回傳 $response string。
  • curl_exec() 執行請求。
  • curl_getinfo() 檢索 HTTP 狀態碼 ($httpCode)。
  • 如果 $httpCode 為 404,則程式碼處理error.

利用該方法,可以高效處理404錯誤,確保您的抓取程式碼順利運行。

以上是如何有效處理 PHP 網頁抓取過程中的 404 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn