HTML页面来源不像输出

时间:2014-11-17 09:47:02

标签: php jquery html htmlspecialchars

使用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隐藏的。

2 个答案:

答案 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,然后您可以抓取它。