파싱 관련 질문
본문
simple html dom 공부하고 있는데 파싱 관련해서 질문 드립니다.
1. 게시판 리스트 파싱할 때 리스트에 페이지 번호가
<button type="button" onclick="Page(1)" >1</button>
이런 형식으로 되어 있는데 1페이지, 2페이지...쭉쭉 파싱이 가능한가요??
2. 리스트에는 이미지가 하나 밖에 없는데 view 상세 페이지 들어가면 여러 이미지가 있는데
이런경우도 파싱이 가능한가요??
답변 2
아래의 내용도 참고를 해보세요~
1. 리스트
<?php
include('simple_html_dom.php');
// 기본 URL 설정
$base_url = "http://example.com/list.php?page=";
$page = 1;
while(true) {
$url = $base_url . $page;
$html = file_get_html($url);
// 페이지가 존재하지 않으면 종료
if (!$html) break;
// 게시물 리스트를 파싱
foreach($html->find('.post') as $post) {
$title = $post->find('h2', 0)->plaintext;
echo "Page {$page}: {$title}\n";
}
// 다음 페이지로 이동
$page++;
}
?>
2. 상세 이미지
<?php
include('simple_html_dom.php');
$list_url = "http://example.com/list.php";
$html = file_get_html($list_url);
// 상세 페이지 URL 추출
$post_urls = [];
foreach($html->find('a.post-link') as $element) {
$post_urls[] = $element->href;
}
foreach($post_urls as $post_url) {
$html = file_get_html($post_url);
// 상세 페이지에서 이미지 URL 추출
foreach($html->find('div.post-content img') as $img) {
$image_url = $img->src;
echo "Image in {$post_url}: {$image_url}\n";
}
}
?>
가능합니다.