cURL을 사용하여 페이지 콘텐츠 검색
이 맥락에서는 cURL을 사용하여 Google 검색 결과 페이지의 콘텐츠를 스크랩하려고 합니다. 사용자 에이전트 및 다양한 옵션을 설정하려고 시도했지만 페이지 콘텐츠를 성공적으로 검색하지 못했습니다. 리디렉션 또는 "페이지 이동" 오류가 계속해서 귀하의 노력을 괴롭히고 있습니다.
이 문제는 쿼리 문자열의 특수 문자 인코딩으로 인해 발생할 수 있다고 생각됩니다. 이를 완화하려면 PHP 코드를 변경해야 합니다.
접근 방식은 다음과 같습니다.
<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) { // Handle errors: bad URL, timeout, redirect loop } if ($result['http_code'] != 200) { // Handle errors: no page, no permissions, no service } $page = $result['content'];</code>
이를 사용하면 코드를 사용하면 이제 브라우저에 표시된 대로 정확한 페이지 콘텐츠를 검색할 수 있습니다. 쿼리 문자열의 특수 문자를 고려하면 이전에 직면했던 장애물을 극복할 수 있습니다.
위 내용은 \'페이지 이동\' 오류에도 불구하고 cURL을 사용하여 페이지 콘텐츠를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!