簡體   English   中英

HTML頁面源不像輸出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM