사이트 긁어오기
현재 내가 발견한 사이트 긁어오기가 안되는 사이트의 유형은 세가지다. 세션을 물고 들어가야지만 페이지가 열리는 경우와 자기 자신의 도메인에서 오지 않을 경우 정상적인 접근이 아니라고 하는 경우 , 그리고 특정 국가의 아이피를 아예 차단시킨경우다.
1. 세션을 물고 들어가야 하는 경우
스누피 fetch 하기전에 아래와 같이 세션값을 임의로 먹여준다. $snoopy->cookies["SessionID"] = 세션값;
2. 자기 자신의 도메인으로 부터 들어오지 않으면 막아버리는 경우
위와 마찬가지로 fetch 하기전에 아래와 같이 값을 먹여준다. $snoopy->referer = “접속한 도메인";
3. 외국 사이트가 한국 ip를 아예 차단한 경우
http://nntime.com/proxy-country/United-States-01.htm www.cybersyndrome.net/plr5.html 위 사이트들에서 좋은 프록시 서버를 찾았으면 아래와 같이 세팅해준다. $snoopy->proxy_host = “프록시서버";
$snoopy->proxy_port = "프록시 서버 포트번호";
네이버 카페에의 글 목록의 소스를 가져와서 파싱,
iframe을 가져오는 방법.
$iFrameIndex = stripos($string, "<iframe");
if($iFrameIndex !== false){
$iFrameEndIndex = stripos($string, ">", $iFrameIndex);
$szFrame = substr($string, $iFrameIndex, $iFrameEndIndex - $iFrameIndex + 1);
$iSrcIndex = stripos($szFrame, "src");
$szFrame = substr($szFrame, $iSrcIndex+4);
if(substr($szFrame, 0, 1) == "\""){
$iSrcIndex = 1;
$iSrcEndIndex = stripos($szFrame, "\"", 1) - 1;
}else if(substr($szFrame, 4, 1) == "'"){
$iSrcIndex = 1;
$iSrcEndIndex = stripos($szFrame, "'", 1) - 1;
}else{
$iSrcIndex = 0;
$iSrcEndIndex = stripos($szFrame, " ", 1);
}
if($iSrcEndIndex === false){
$szFrame = substr($szFrame, $iSrcIndex);
}else{
$szFrame = substr($szFrame, $iSrcIndex, $iSrcEndIndex);
}
}
echo $szFrame;
http://anipage.tistory.com/517
웹페이지 자동 로긴해서 긁어 오기와 HTML 파싱 라이브러리
http://gnusdm.egloos.com/91945
Autosurf 소스 받기
autosurf.php 내용 보기
Html Parse 소스 받기