2014-02-15 1 views
-1

"크롤링"사이트에서 다른 해결책을 찾았지만 찾고있는 것 같지 않습니다.디렉토리에있는 모든 파일에서 지정된 문자열을 MySQL 데이터베이스에 저장합니다.

내가 MySQL 데이터베이스에 결과를 온라인 디렉토리에 각 파일에서 데이터를 추출하고 저장하는 기능 싶습니다

:

http://www.website.com/directory/subdirectory/ 

이 서브 디렉토리 나 '정보를 포함 여러 가지 하위 하위 디렉토리를 포함 내가 찾고있어.

이 하위 서브 디렉토리 데이터 다음과 같은 요소를 포함 나는 저장하고 싶습니다 :

<h1 class="title">Title</h1> 
<h2 class="details">Details</h2> 

그런 다음, 추가 데이터 2 개 항 태그 : 마지막으로

<p>Text</p> 
<p>More Text</p> 

:

<h3>Title</h3> 
<p>Text</p> 

이상적으로 데이터베이스의 각 비트를 다음과 같이 저장하고 싶습니다.

$title = //all text between <h1> and </h1>; 
$details = //all text between <h2> and </h2>; 
$detailText1 = //all text between the FIRST set of <p> and </p> 
$detailText2 = //all text between the SECOND set of <p> and </p> 
$title2 = //all text between <h3> and </h3>; 
$title2Text = //all text between the THIRD set of <p> and </p>; 

mysql_query('INSERT INTO table (id, title, details, detailText1, detailText2, title2, title2Text) VALUES (NULL, "'.$title.'", "'.$details.'", "'.detailText1.'", "'.$detailText2.'", "'.$title2.'")'); 

모든 도움을 주시면 감사하겠습니다.

답변

0


을 사용하면 h1, h2, ..... 및 모든 태그를 얻을 수 있습니다. 예를 들어
: 제안에 대한

require_once 'simple_html_dom.php'; 
// Create DOM from URL or file 
$html = file_get_html('http://www.wikipedia.org'); 
// Find all h1 
foreach($html->find('h1') as $element) 
     echo $element->outertext. '<br/>'; 
+0

yones 안녕하세요, 감사합니다. 구현하려고 시도했지만 수신 : "[function.file-get-contents] : 스트림을 열지 못했습니다 : HTTP 요청이 실패했습니다! HTTP/1.1 403 Forbidden" – chuckcastle

+0

이것은 스크립트에는 문제가되지 않지만 요청하고 있습니다. 웹 서버는 "금지 된"상태 코드를 반환합니다. PHP 스크립트를 사용하여 긁힘을 방지하거나 너무 많은 요청을 한 경우 IP를 차단할 수 있습니다. 원격 서버의 관리자에게 문의해야합니다. – ops

+0

안녕하세요, 고맙습니다. – chuckcastle

관련 문제