使用Cron作业(Php脚本)从抽奖当天提取loto结果:
http://www.millipiyango.gov.tr/sonuclar/_cs_sayisal.php
我正在使用的脚本是通过读取文件,然后将其分成行来查找数字: 如下:
$rfile = "http://www.millipiyango.gov.tr/sonuclar/_cs_sayisal.php";
$lines = file($rfile);
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " .htmlspecialchars($line) . "<br />\n";
}
惊喜是页面的输出(你在网上看到的)不像源(当PHP读取文件时)!!
我尝试通过鼠标选择“全部选择”,然后阅读“查看选择源{Firefox}”它的工作原理。
但我需要Cron Job完成。
我如何阅读来源?似乎代码是使用jquery隐藏的。
答案 0 :(得分:2)
实际数据来自http://www.millipiyango.gov.tr/sonuclar/cekilisler/sayisal/20141115.json,其格式为[年] [月] [日] .json
您可以在php中使用json_decode
来获取包含值的数组,然后您可以使用它来执行任何操作。
如果您想查看所有可用数据,可以执行以下操作:
<?php
$content = file_get_contents("http://www.millipiyango.gov.tr/sonuclar/cekilisler/sayisal/20141115.json");
$json = json_decode($content);
echo "<pre>";
var_dump($json);
echo "</pre>";
答案 1 :(得分:1)
这里发生的是该页面是由Javascript构建的。当你说你正在查看源代码时,你实际上是在看DOM树。如果你查看源代码(命令/ control-U),你会看到我的意思。要获取数据,您有两种选择。
1)尝试对Javascript进行反向工程,看看它从哪里获取数据来传播网站。
或
2)使用类似PhantomJS的内容为您构建网站DOM,然后您可以抓取它。