php 에서 소켓을 생성하고, 호스트(google.com) 에 http request를 보낸 후
받은 response 를 출력하는 예제 입니다.
response 를 DOMDocument 인스턴스에 로드를 하면
getElementById 와 같은 함수를 통해 웹페이지를 쉽게 파징하실 수 있습니다.
$c = fsockopen('www.google.com', 80, $errno, $errstr, 30);
if (!$c)
die ("Couldn't connect to google.com");
$header .= "Host: www.google.com\r\n";
$header .= "User-Agent: Mozilla/5.0 (Linux; U; Android 4.0.4; en-gb; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30\r\n\r\n";
fwrite($c, $header);
while (!feof($c))
$file.=fgets($c,128);
$dom = new DOMDocument();
$dom->loadHTML(''.$file);
// echo $file;
// echo "".substr($file, strpos($file,"";
// 활용 예제
foreach ($dom->getElementById('ires')->getElementsByTagName('li') as $child) {
$item = new SearchItem();
$element = $child->getElementsByTagName('h3')->item(0);
$title = $element->nodeValue;
$item->title = $title;
}
댓글 없음:
댓글 쓰기