2013-07-11 1 views
-2

나는 웹 사이트의 버전이 두 개 있습니다 :사이트의 모든 페이지에서 제목과 설명을 추출하는 방법은 무엇입니까?

ftp/코드에 대한 액세스 권한이없고 거의 ftp/code에 액세스 할 수 있지만 제목과 설명 태그가 제거 된 것과 거의 동일한 것 . 더 이상 직접 액세스 할 수없는 사이트를 크롤링하고 모든 페이지의 제목/설명 메타 태그를 추출하는 방법 (PHP 또는 기타)이 있습니까?

내가 액세스 할 수있는 사이트의 새 버전에 태그를 삽입하고 싶습니다.

$xpath = new DOMXPath($doc); 
$description = $xpath->query('/html/head/meta[[email protected]="description"]/@content'); 

이 대안 솔루션입니다 :

+2

[**에 StackOverflow **] (http://bit.ly/4Agih5)는 무료 코드를 요구하는 장소가 아닌 **! **입니다. [해당 질문은 **이 사이트에 적합하지 않습니다 **] (http://bit.ly/dcqznq), [** Closed **] (http://bit.ly/18T95z1) 또는 [** Deleted **] (http://bit.ly/10c3VuR), * * 대신 [* 할 수있는 유형] (http://bit.ly/r0ZSEc) 질문이나 물어볼 수 있습니다. 이에 대한 질문이 있으시면 [Meta] (http://bit.ly/SgO5J) 또는 [FAQ] (http://bit.ly/18T95z1) 페이지에서 일반 정보를 요청하십시오. . – samayo

+0

[wget] (http://en.wikipedia.org/wiki/Wget)을 통해 전체 사이트를 다운로드하는 방법은 무엇입니까? –

+0

전체 사이트를 다운로드하는 방법을 알고 있습니다 ... "보고서"또는 XML 또는 파일 이름, 제목 및 설명 만있는 일부를 가져 오는 방법을 찾으려고합니다. 나는 코드를 요구하지 않는다. 나는 그것을하는 방법에 대한 어떤 생각을 요구하고있다. ("거기에 방법이 있느냐"라는 코드가 ...) –

답변

1

당신은 페이지에서 메타 설명을 추출하기 위해 이것을 사용할 수 있습니다

$doc = new DOMDocument; 
$doc->loadHTMLFile('http://example.com'); 

$title = $doc->getElementsByTagName('title'); 
$title = $title[0]; 

$metas = $doc->getElementsByTagName('meta'); 

foreach ($metas as $meta) { 
    if (strtolower($meta->getAttribute('name')) == 'description') { 
    $description = $meta->getAttribute('value'); 
    } 
} 

출처 : #6113716

+0

감사합니다. 이것은 내가 원하는 방향으로 나를 놓을 것입니다. 전에 loadHTMLfile을 보지 않았습니까? 고맙습니다! –

관련 문제