특정 클래스 이름을 가진 이미지 URL을 찾을 작은 스크래퍼 스크립트를 작성하고 있습니다. 내 cURL 및 DOMDocument 괜찮아요, 그리고 DomXPath 정말 (내가 말할 수있는 한 멀리, 아무런 오류가 있습니다) 잘 알고 있지만 xpath 쿼리 결과의 URL을 얻는 방법을 해결하기 위해 노력하고 있습니다. 지금까지DOMDocument가있는 DomXPath를 사용하여 <img> 클래스 URL
내 코드 :
$dom = new DOMDocument();
@$dom->loadHTML($x);
$xpath = new DomXpath($dom);
$div = $xpath->query('//*[@class="productImage"]');
var_dump($div);
echo $div->item(0);
나는의 ($ x)는 페이지 출력 문제 없어 위해서 var_dump 경우
. 그래서 CURL은 잘 작동합니다. 하지만 $ div에 포함 된 데이터를 가져 오는 방법을 모르겠습니다. 내가 그 이미지 태그의 소스를 원하는<img src="/uploads/5W/yP/5WyPP4l7Z-jmZRzu_MJ6zg/1077-d.jpg" border="1" alt="Album" class="productImage">
: 나는처럼 보이는 'productImage'의 클래스와 이미지를 찾기 위해 노력하고있다.
제안 사항?
오우 감사합니다. xpath 쿼리 결과에 대한 모든 개체 함수를 나열하는 어딘가에 목록이 있습니까? 내가 찾지 못해서 : S – Chud37
docs (http://www.php.net/manual/en/book.dom.php)를 살펴보면 xpath 쿼리가 DomNodeList를 반환한다는 것을 알 수 있습니다. 그런 다음 DomNodeList가 가지고있는 프로퍼티와 메소드를 읽어 올 수 있습니다 (각 프로퍼티는 1 개뿐입니다). 각 노드에 액세스 할 수 있으면 DomElement obj에서 읽고 모든 마법에 액세스하는 방법을 읽을 수 있습니다. –
단일 노드 만 일치한다고 기대한다면 Xpath에서 그것을 캐스팅하고 스칼라 값을 직접 얻을 수 있습니다 :'$ img = $ xpath-> evaluate ('string (// * [@ class = "productImage"]/@ src) '); – ThW