테스트 사이트 - 개발 중인 베타 버전입니다

게시판 파싱기 만들고 싶은데

· 2년 전 · 2673 · 3

까마득 하네요 어렵습니다 ㅠㅠ

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 3개

어떤 게시판이요? 그누보드 게시판 파싱인가요?
네넵 만들어 보려는데 어렵네요 ㅠㅠ
<?php
include_once('./_common.php');

include_once(G5_THEME_MOBILE_PATH.'/head.php');


?>
<?php
include "Snoopy.class.php";

$snoopy = new Snoopy;
$url = "https://humorpick.com/bbs/board.php?bo_table=best";

$snoopy->fetch($url);
$content = $snoopy->results;

$doc = new DOMDocument();
@$doc->loadHTML($content);

$xpath = new DOMXpath($doc);

$title = $xpath->query("/html/body/div[1]/div[2]/div/div/div[2]/section/div/form/div[1]/ul/li[1]/div[3]/a");
$link = $xpath->query("/html/body/div[1]/div[2]/div/div/div[2]/section/div/form/div[1]/ul/li[1]/div[3]/a@href");

$db = new mysqli("localhost", "root", "autoset", "test");

foreach($title as $i => $t) {
$title_text = $t->nodeValue;
$link_text = $link[$i]->nodeValue;
$link_text = 'https://humorpick.com'.$link_text;
$snoopy->fetch($link_text);
$content = $snoopy->results;
$content = mysqli_real_escape_string($db, $content);
$sql = "INSERT INTO contentss (title, content) VALUES ('$title_text', '$content')";
mysqli_query($db, $sql);
}

mysqli_close($db);

?>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@9"></script>

<div class="container-fluid mt--7">
<div class="container-fluid mt--7">
<div class="container">
<form>
<div class="row">

<div class="col-3">

<select name="type" class="form-control">
<option value="gnu">그누보드</option>
<option value="xe">XE</option>
</select>
</div>
<div class="col-3">
<select name="board_id" class="form-control">
<?php
$query = "SELECT board_id,name FROM board WHERE mb_id = '{$member["mb_id"]}'";
$result = mysqli_query($conn, $query);
while($row = mysqli_fetch_assoc($result)){
echo '<option value="'.$row['board_id'].'">'.$row['name'].'</option>';
}
?>
</select>
</div>
<br>
<div class="col">
<input type="text" class="form-control" placeholder="" aria-label="Example text with button addon" aria-describedby="button-addon1">
</div>
</div>
</div>
<br>
</form>
<div class="col mb-xl-0">
<div class="card shadow">
<div class="card-header border-0">
<div class="row align-items-center">
<div class="col">
<h3 class="mb-0">수집된 컨텐츠</h3>
</div>

<div class="col">
</div>
<div class="col text-right">
<button type="button" class="btn btn-block btn-primary" data-toggle="modal" data-target="#modal-form">컨텐츠수집하기</button>
</div>
<div class="modal fade" id="modal-form" tabindex="-1" role="dialog" aria-labelledby="modal-form" aria-hidden="true">
<div class="modal-dialog modal- modal-dialog-centered modal" role="document">
<div class="modal-content">

<div class="modal-body p-0">

















<div class="card bg-secondary border-0 mb-0">
<div class="card-header bg-transparent pb-5">

<div class="card-body px-lg-5 py-lg-5">
<div class="text-center text-muted mb-4">
<small>컨텐츠을 수집해 주세요</small>
</div>
<form role="form">
<?php $url = "https://www.todayhumor.co.kr/board/list.php?table=bestofbest";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);

// 파싱
$dom = new DOMDocument();
@$dom->loadHTML($response);
$xpath = new DOMXPath($dom);

$table = $xpath->query("//table[@class='board_list']/tbody/tr");

foreach ($table as $row) {
$title = $xpath->query("/html/body/div[4]/div/div/table/tbody/tr[2]/td[3]", $row)->item(0)->nodeValue;
$url = $xpath->query("/html/body/div[4]/div/div/table/tbody/tr[2]/td[3]/a", $row)->item(0)->nodeValue;

$url = "https://www.todayhumor.co.kr" . $url;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);

$dom2 = new DOMDocument();
@$dom2->loadHTML($response);
$xpath2 = new DOMXPath($dom2);

$content = $xpath2->query("//*[@id='containerInner']/div[6]/div[2]")->item(0)->nodeValue;

echo "<table>";
echo "<tr><td>제목: $title</td></tr>";
echo "<tr><td>내용: $content</td></tr>";
echo "</table>";
} ?>
</div>
</div>


</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">닫기</button>
<button type="button" class="btn btn-primary">컨텐츠 등록</button>
</div>
</form>


</div>

</div>
</div>
</div>
</div>
</div>
<div class="table-responsive">
<!-- Projects table -->
<table class="table align-items-center table-flush">
<thead class="thead-light">
<tr>

게시판 목록

자유게시판

글쓰기

첫글

3주 전
🐛 버그신고