首页 >后端开发 >php教程 >如何有效处理 PHP 网页抓取过程中的 404 错误?

如何有效处理 PHP 网页抓取过程中的 404 错误?

Barbara Streisand
Barbara Streisand原创
2024-12-03 06:48:09122浏览

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