cURL을 사용하여 웹페이지의 HTML 콘텐츠를 스크랩하려고 할 때 cURL을 사용하는 경우 리디렉션 또는 '페이지 이동' 오류가 발생하는 것이 일반적입니다. 이는 종종 쿼리 문자열에 특수하게 인코딩된 문자가 원인일 수 있습니다.
이러한 문제가 발생하지 않고 페이지 콘텐츠를 효과적으로 검색하려면 다음과 같이 cURL 코드를 최적화하세요.
<code class="php">function get_web_page($url) { $user_agent='Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0'; $options = array( CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_POST => false, CURLOPT_USERAGENT => $user_agent, CURLOPT_COOKIEFILE => "cookie.txt", CURLOPT_COOKIEJAR => "cookie.txt", CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false, CURLOPT_FOLLOWLOCATION => true, CURLOPT_ENCODING => "", CURLOPT_AUTOREFERER => true, CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, ); $ch = curl_init($url); curl_setopt_array($ch, $options); $content = curl_exec($ch); $err = curl_errno($ch); $errmsg = curl_error($ch); $header = curl_getinfo($ch); curl_close($ch); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; return $header; }</code>
페이지를 읽는 동안 발생할 수 있는 오류 검색 및 처리:
<code class="php">$result = get_web_page($url); if ($result['errno'] != 0) // Error handling for invalid URL, timeout, or redirect loops. if ($result['http_code'] != 200) // Error handling for issues like missing page, permission denial, or unavailability. $page = $result['content'];</code>
위 내용은 오류 처리와 함께 cURL을 사용하여 페이지 콘텐츠를 효율적으로 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!