외부 페이지 파싱 후 페이지가 이동 됩니다.

외부 페이지 파싱 후 페이지가 이동 됩니다.

QA

외부 페이지 파싱 후 페이지가 이동 됩니다.

본문

Snoopy나 file_get_content, CURL도 사용을 해보았지만...

URL을 값이 http://abc.com/source/frm.html?pageURL=album.html?page=1

이라고 가정을 한다면 http://abc.com 처럼 다른 페이지로 이동이 됩니다.

 

심지어 작업하는곳이

 

naver.com/parse.php 안에서 했다면

해당 URL 값 안에 저 홈페이지가 불러와져야 하는데...

페이지가 아예 변경이 되는 현상이 나타나버리고 있습니다.

 

CURL 옵션에 리퍼러값이나 host도 넣어 보았지만...

동일한 현상이 지속 되네여 ㅠ

어떤게 문제일까요?

이 질문에 댓글 쓰기 :

답변 2

해당 크롤링을 하는 함수나 플러그인 자체에는 페이지 이동 기능이 없습니다.
파싱하는 페이지 주소를 바꿔 보시고 바꿔도 동일한 증상이 나타난다면 사용하시는 서버 환경이나 include된 함수 등의 설정을 살펴보셔야 하고
파싱하는 페이지 주소에서만 해당 증상이 나타난다면 해당 파싱 페이지에서 페이지 이동 스크립트 부분을 걸러내시는 식으로 접근하셔야 할 듯 하네요.

curl_exec 다음에

$info = curl_getinfo($ch);
print_r($info);

코드를 넣고 무엇이 뜨는지 확인해 보시죠.

얻고자 하시는 타겟 url 알려 주시면
상태 확인은 해 드릴 수 있는데...

Array ( [url] => http://puremind.kidis.co.kr/source/photofrm.html?pageURL=album_list.html&cpage=433&searchKind=&searchKey=&menuKind=ALB&menuCode=ALB002 [content_type] => text/html [http_code] => 200 [header_size] => 284 [request_size] => 233 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.04389 [namelookup_time] => 1.3E-5 [connect_time] => 0.002693 [pretransfer_time] => 0.002694 [size_upload] => 0 [size_download] => 1122 [speed_download] => 25563 [speed_upload] => 0 [download_content_length] => 1122 [upload_content_length] => 0 [starttransfer_time] => 0.043869 [redirect_time] => 0 [certinfo] => Array ( ) [redirect_url] => )

redirect_url 값은 존재 하지 않지만...외부 페이지 불러오기가 계속 되지 않네요...

쿠키가 없을시 그쪽 서버에서 그쪽으로 리디렉트 시키는 소스를 뿌려 주기 때문에 그렇습니다. 구글에서 curl cookie로 검색하셔서 쿠키관련 옵션을 추가후 시도해 보세요.

말씀주신 대로 curl cookie 옵션을 찾아 보았습니다.
$cookie = array(
'_ga' => 'GA1.3.575516563.1587691772',
'_gid' => 'GA1.3.799399717.1591632903',
'COOKPRESCHOOLCODE' => 'KKGI0006',
'COOKTOPIMG' => 'deleted',
'COOKLEFTIMG' => 'deleted',
'COOKRIGHTIMG' => 'deleted',
'COOKPATTON' => 'deleted',
'COOKBGMUSIC' => 'deleted',
'COOKMENU' => 'S%7CY%7CY%7CY%7CN%7CY%7CS%7CC'
);
배열을 만들고curl_setopt($ch, CURLOPT_COOKIE, $cookie);
를 추가 했으나 ㅠ 마찬가지네요...
조금 더 조언을 받을 수 있을까요?

ㅎㅎ 그렇게 하시라는게 아니라
$cookie = "./cookie.txt"; 삽입하시고

다음을 적당한 곳에 넣으시고 시도해 보시죠.
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);

소중한 답변 감사드립니다.
그누보드5 최상단에 cookie.txt 파일 생성 한 뒤 아래와 같이 작성 해보았습니다.

$url = 'http://puremind.kidis.co.kr/source/photofrm.html';
$param = array(
'pageURL' => 'album_list.html',
    'cpage'  => 433,
    'menuKind'  => 'ALB',
    'menuCode' => 'ALB002'
);


$cookie = G5_PATH."/cookie.txt";

$ch = curl_init();
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
ob_start();
$contents = curl_exec($ch);
curl_close($ch);
echo $contents;
로 해보니 아래와 같이 나오며 URL 경로가 아닌 메인페이지로 이동 되는 현상이 발생 됩니다 ㅠ
Warning: curl_setopt() expects parameter 1 to be resource, null given in /puremind/www/parse.php on line 19

Warning: curl_setopt() expects parameter 1 to be resource, null given in /puremind/www/parse.php on line 20

답변을 작성하시기 전에 로그인 해주세요.
전체 149
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT