로또 최신회차 추출하기 정보
로또 최신회차 추출하기본문
로또 최신회차의 경우 비타주리는 편하게
https://dhlottery.co.kr/gameResult.do?method=byWin 페이지를 curl 로 긁어서 원하는 문자열만 빼오고 있습니다.
<?php
$lastLotto = curl_init();
curl_setopt($lastLotto, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($lastLotto, CURLOPT_URL, 'https://dhlottery.co.kr/gameResult.do?method=byWin');
$finalLotto = substr(explode('<caption>', curl_exec($lastLotto))[1], 0, 4);
curl_close($lastLotto);
echo $finalLotto;
게시글을 쓰는 이 시점에서는 1138 이 출력됩니다. 페이지가 업뎃될때마다 바뀌겠죠?
페이지에 넣어서 복합 코딩을 해도 좋고 이 번호만 기입된 단일 문서를 만들어서 다시 curl 이나 아작스로 땡겨도 좋고 여하튼 본인 마음입니다.
--------------------
그런데 저는 체질상 js 파일로 부르는 걸 더 좋아합니다. 아래처럼요.
<?php
$lastLotto = curl_init();
curl_setopt($lastLotto, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($lastLotto, CURLOPT_URL, 'https://dhlottery.co.kr/gameResult.do?method=byWin');
$finalLotto = substr(explode('<caption>', curl_exec($lastLotto))[1], 0, 4);
curl_close($lastLotto);
echo 'finalLotto = '.$finalLotto.';';
이렇게 하면 아래처럼 표현됩니다.
finalLotto = 1138;
--------------------
위와 같이 만든 js 형식의 파일을 js 문서 부르듯이 가져와서 변수를 가지고 지지고 볶고 해주면 되겠습니다.
<script src="파일경로"></script>
<script>
document.write(finalLotto);
</script>
--------------------
하지만 js 파일도 css 파일과 마찬가지로 새로고침 문제 때문에 언제나 골치가 아픕니다.
더구나 로또 최신회차는 일주일 단위로 바뀌기 때문에 더욱 신경을 써야 합니다.
저는 편하게 파일꼬랑지로 현재시간의 초단위까지를 주는데 날짜가 다이렉트로 보이는게 좀 그래서 이걸 뒤집어서 사용합니다.
<script src="파일경로?mode=<?php echo strrev(date('YmdHis')); ?>"></script>
9
댓글 15개
감사합니다 ^^
@민트다이어리 감사합니다
무조건 쓰시는 것으로 따라서 써야죠 ^^
감사합니다
@풍운 감사합니다
최근 5회차까지 출력
<?php
$lastLotto = curl_init();
curl_setopt($lastLotto, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($lastLotto, CURLOPT_URL, 'https://dhlottery.co.kr/gameResult.do?method=byWin');
$latestRound = substr(explode('<caption>', curl_exec($lastLotto))[1], 0, 4);
curl_close($lastLotto);
function getLottoNumbers($round) {
$url = "https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo=" . $round;
$json = file_get_contents($url);
return json_decode($json, true);
}
function printLottoNumbersTable($rounds) {
echo "<table border='1'>";
echo "<tr><th>회차</th><th>당첨 번호</th><th>보너스 번호</th></tr>";
foreach ($rounds as $round) {
$data = getLottoNumbers($round);
echo "<tr>";
echo "<td>" . $data['drwNo'] . "</td>";
echo "<td>";
for ($i = 1; $i <= 6; $i++) {
echo $data["drwtNo$i"] . " ";
}
echo "</td>";
echo "<td>" . $data['bnusNo'] . "</td>";
echo "</tr>";
}
echo "</table>";
}
$rounds = range($latestRound, $latestRound - 4); //4는 5회를 뜻함
printLottoNumbersTable($rounds);
?>
AI 답변
로또 번호를 조합하여 당첨될 확률을 계산하는 것은 매우 복잡한 문제입니다. 기본적으로 로또 6/45의 경우, 1등 당첨 확률은 약 8,145,060분의 1입니다. 최근 10회차에서 가장 많이 나온 숫자를 조합한다고 해도, 이 확률이 크게 변하지는 않습니다.
로또 번호는 무작위로 추첨되기 때문에, 특정 숫자가 더 자주 나왔다고 해서 그 숫자가 다시 나올 확률이 높아지는 것은 아닙니다. 따라서, 최근 10회차에서 많이 나온 숫자를 조합하여도 당첨 확률은 여전히 매우 낮습니다.
;;;;;;
좋은팁 감사 합니다.
@들레아빠 늘 고마워요 들레아빠님
죄송한데 조금만 더 떠 먹여주실분 계실까요???
<?php
$lastLotto = curl_init();
curl_setopt($lastLotto, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($lastLotto, CURLOPT_URL,...........................
.........
위 소스를 XX.js 파일로 만들고
페이지에서
<script src="파일경로 XX.js?mode=<?php.........로 출력하는건가요?
@하늘아래구름
php 없는 혼또 자바스크립트입니다.
countLotto = 5; 는 최신회차부터 5회연속이란 뜻입니다. 원하는 숫자로요.
https://blog.kakaocdn.net/dn/C5FMl/btsJM6Begz2/JxRx0h98QNRvTH0KqxDKA0/tfile.js
위 파일을 본인 서버에 올려 놓고 일주일마다 업뎃해야 합니다.
이걸 자동으로 업뎃하는 코드는 만들어는 놓았는데 배포예정은 없습니다.
결과물은 https://wittazzurri.com/editor/html_editor.php 에서 확인해 보세요.
<style>
@font-face { font-family:'NEXON Lv1 Gothic OTF'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF.woff') format('woff'); }
#lotto645Div { width:100%; max-width:600px; margin:0 auto; }
#lotto645Div div { display:flex; justify-content:space-between; margin:3px 0px; }
#lotto645Div div span { color:#ffffff; font-size:18px; font-weight:bold; font-family:'NEXON Lv1 Gothic OTF'; display:block; text-align:center; padding:10px 0px; border-radius:10px; }
#lotto645Div div .lotto-order { width:15%; background-color:#0a857e; }
#lotto645Div div .lotto-date { width:25%; background-color:#007bc3; }
#lotto645Div div .lotto-0 { width:1%; }
#lotto645Div div .lotto-1 { width:7%; background-color:#fbc400; }
#lotto645Div div .lotto-2 { width:7%; background-color:#69c8f2; }
#lotto645Div div .lotto-3 { width:7%; background-color:#ff7272; }
#lotto645Div div .lotto-4 { width:7%; background-color:#aaaaaa; }
#lotto645Div div .lotto-5 { width:7%; background-color:#b0d840; }
#lotto645Div div .lotto-plus { width:4%; color:#000000; }
</style>
<div id="lotto645Div"></div>
<script src="https://blog.kakaocdn.net/dn/C5FMl/btsJM6Begz2/JxRx0h98QNRvTH0KqxDKA0/tfile.js"></script>
<script>
for (lottoTotal = 1000; this["lotto_" + (lottoTotal + 1)]; lottoTotal++);
countLotto = 5;
function lottoHtml() {
lottoCode = "<span class='lotto-order'>" + (n = arguments[0]) + "</span><span class='lotto-date'>" + this["lotto_" + n][0] + "</span><span class='lotto-0'></span>";
for (i = 1; i <= 6; + i++) lottoCode += "<span class='lotto-" + Math.ceil(this["lotto_" + n][i] / 10) + "'>" + this["lotto_" + n][i] + "</span>";
lottoCode += "<span class='lotto-plus'>+</span>" + "<span class='lotto-" + Math.ceil(this["lotto_" + n][i] / 10) + "'>" + this["lotto_" + n][7] + "</span>";
return lottoCode;
}
for (j = lottoTotal; j > lottoTotal - countLotto; j--) document.querySelector("#lotto645Div").innerHTML += "<div>" + lottoHtml(j) + "</div>";
</script>
@비타주리 아이고~ 감사합니다.
어디 동네 가까우면 긴기라기니나 들으면서 막걸리라도 대접하고 싶네요~^^
감사합니다
@재미하우스 감사합니다
감사합니다
@그누코딩초보 감사합니다
1등 가즈아~