웹 사이트의 정보를 긁어서 오프라인에서 읽을 수 있도록 간단한 PHP를 사용하고 있습니다. 코드가 잘 작동하는 것 같지만 정의되지 않은 동작이 걱정됩니다. 이 사이트는 약간 코딩이 잘되어 있지 않으며 일부 요소는 다른 요소와 동일한 ID를 공유합니다. 나는 getElementById이 위에서 아래로 DOM을 가로 지르며, 내가 필요한 요소가 ID가있는 첫 번째 인스턴스이기 때문에 문제가없는 이유를 상상할 수 있습니다. 이 동작을 보장 할 방법이 있습니까? 이 요소에는 ID를 구분하는 다른 방법이 없으므로 ID로 선택하는 것이 가장 좋은 방법 인 것 같습니다. 나는 아래에서 사용하고있는 코드의 제거 된 예제를 포함시켰다.요소를 공유하는 PHP getElementById 동작
감사합니다.
<?php
$curl_referer = "http://example.com/";
$curl_url = "http://example.com/content.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, 'Scraper/0.9');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_REFERER, "$curl_referer");
curl_setopt($ch, CURLOPT_URL, "$curl_url");
$output = curl_exec($ch);
$dom = new DOMDocument();
@$dom->loadHTML($output);
$content = $dom->getElementById('content');
echo $content->nodeValue;
?>
XPath를 사용하여 찾지도 못했습니다. 고마워. 편집 : UA에 대한 헤드 감사합니다. – Session