[英]HTML Page Source not like Output
我正在使用Cron Job(Php腳本)在抽獎當天從以下位置提取彩票結果:
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隱藏的。
實際數據是從http://www.millipiyango.gov.tr/sonuclar/cekilisler/sayisal/20141115.json收集的,其格式為[year] [month] [day] .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>";
這里發生的是該頁面由Javascript構建。 當您說您正在查看源代碼時,實際上是在查看DOM樹。 如果您查看源代碼(command / control-U),您將明白我的意思。 要獲取數據,您有兩個選擇。
1)嘗試對Javascript進行逆向工程,並查看從何處獲取用於傳播站點的數據。
要么
2)使用PhantomJS之類的東西為您構建站點DOM,然后可以對其進行爬網。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.