2014-11-17 70 views
0

正在使用cron作業(PHP腳本)中提取的平局,從當天樂透結果:HTML頁面源代碼不喜歡輸出

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讀取文件)! !

我嘗試「全選」鼠標,閱讀「視圖選擇來源{火狐})它的工作。

但我需要它由cron作業已完成。

我怎樣才能讀取源?它似乎代碼隱藏使用jQuery

+0

我真的不明白。對我來說,這個腳本是打印頁面的源代碼:'行#0: 行#1:<!DOCTYPE html PUBLIC「 - // W3C // DTD XHTML 1.0 Transitional // EN」「http:// www。 w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd「>' – vaso123

+0

請檢查源代碼,它不是輸出! – BASSEL

+0

根本無法獲取PHP源代碼,因此只能獲取html文檔 – Vineet1982

回答

2

實際數據從http://www.millipiyango.gov.tr/sonuclar/cekilisler/sayisal/20141115.json這似乎格式[年] [月] [日]以.json

收集您可以使用json_decode在PHP獲取與價值,然後你就可以使用到一個數組做你想做的。

如果你想看到你可以做以下的全部信息:你想才達到什麼

<?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

這裏發生了什麼是頁面正在建立的Javascript。當你說你正在查看源代碼時,你實際上在看DOM樹。你看看源代碼(command/control-U),你會明白我的意思。爲了得到數據,你有兩個選擇:

1)嘗試對Javascript進行反向工程,並查看它從哪裏獲取傳播該網站所使用的數據。

2)使用類似PhantomJS建立的網站DOM你,然後你就可以抓取來代替。

+0

不能PHP讀取輸出爲TEXT而不是來源,因爲我不知道PhantomJS。 – BASSEL

+2

在瀏覽器中關閉Javascript,然後進入樂透頁面。你會看到樂透號碼是空白的。這就是PHP會看到的。這是因爲數字不在該頁面中,而是在頁面加載後用Javascript動態插入。 –

+0

感謝Dan Goodspeed – BASSEL