php 데이터 수집 에 대한 상세 한 설명
include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "www.7767.cn";
$snoopy->proxy_port = "8080";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.7767.cn/";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext("http://www.7767.cn"))
{
echo "<PRE>".htmlspecialchars($snoopy->results)."</PRE>
";
}
else
echo "error fetching document: ".$snoopy->error."
";
//////////////////////////////////////////////////////다음은 simplehtml_dom 는 원 하 는 부분 을 꼼꼼 히 빼 냅 니 다.물론 정규 에 특히 뛰 어 나 고 정규 에 도 애착 이 있다 면 정규 에 맞 게 잡 을 수도 있다.simple_html_dom 은 사실 dom 해석 의 과정 이다.php 내부 에서 도 해석 방법 을 제 공 했 지만,이 simplehtml_dom 는 비교적 전문 적 이 고 한 가지 유형 으로 원 하 는 기능 을 많이 만족 시 켰 다 고 할 수 있 습 니 다./////////////////////////////////////////////////////////////////////////////////////URL 이나 파일 이름 으로 대상 문서 대상 을 만 듭 니 다.즉,대상 페이지$html=fileget_html ('http://www.7767.cn/' );//$html = file_get_html ('test.htm' );//대상 웹 페이지 로 문자열 을 사용 합 니 다.스 누 피 를 통 해 페이지 를 가 져 오고 여기 로 가 져 와$my html=str 를 처리 할 수 있 습 니 다.get_html ('Hello!' );// 모든 그림 을 찾 으 면 배열 foreach($html->find(img)as$element)를 되 돌려 줍 니 다. echo $element->src . '' ;// 모든 링크 foreach 찾기($html->find('a')as$element) echo $element->href . '
' ;find 방법 은 매우 좋 습 니 다.보통 대상 을 포함 하 는 배열 로 돌아 갑 니 다.대상 요 소 를 찾 을 때 class 나 id 또는 다른 속성 을 통 해 대상 문자열 을 가 져 올 수 있 습 니 다./대상 div 의 class 속성 을 통 해 div 를 찾 습 니 다.find 방법 에서 두 번 째 인 자 는 그 배열 의 몇 번 째 인 자 를 되 돌려 줍 니 다.0 부터 첫 번 째$targetdiv = $html->find ('div.targetclass',0 );//결과 가 당신 이 원 하 는 것 인지 확인 하고 echo 를 직접 하면 됩 니 다 echo $target_div;//중요 한 것 은 이 채집 대상 이 생 성 된 후에 반드시 소각 해 야 한 다 는 것 입 니 다.그렇지 않 으 면 phop 페이지 가 30 초 정도 걸 릴 수 있 습 니 다.이것 은 서버 의 그 시간 제한 에 달 려 있 습 니 다.소각 방법 은:$html->clear();unset($html);본인 생각 simplehtml_dom 가 비교적 우수한 점 은 채집 을 JS 처럼 쉽게 통제 하 는 것 이다.아래 에 제 공 된 다운로드 패키지 에는 영어 매 뉴 얼 simplehtmlom 이 있 습 니 다.1_11/simplehtmldom/manual/manual.htm
array$e->getAllAttributes ()
array$e->attr
string$e->getAttribute ( $name )
string$e->attribute
void$e->setAttribute ( $name, $value )
void$value = $e->attribute
bool$e->hasAttribute ( $name )
boolisset($e->attribute )
void$e->removeAttribute ( $name )
void$e->attribute = null
element$e->getElementById ( $id )
mixed$e->find ( "#$id", 0 )
mixed$e->getElementsById ( $id [,$index] )
mixed$e->find ( "#$id" [, int $index] )
element$e->getElementByTagName ($name )
mixed$e->find ( $name, 0 )
mixed$e->getElementsByTagName ( $name [, $index] )
mixed$e->find ( $name [, int $index] )
element$e->parentNode ()
element$e->parent ()
mixed$e->childNodes ( [$index] )
mixed$e->children ( [int $index] )
element$e->firstChild ()
element$e->first_child ()
element$e->lastChild ()
element$e->last_child ()
element$e->nextSibling ()
element$e->next_sibling ()
element$e->previousSibling ()
element$e->prev_sibling ()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.