2011-03-19 66 views
0

我試圖檢索一個頁面的源代碼,但問題是一些內容通過AJAX或類似的方式加載..此內容不會出現在正常的源代碼中通過PHP的file_get_contents獲取。JS運行後獲取源代碼

有什麼辦法得到這個? (在服務器端,不通過瀏覽器開發工具等)。

+0

運行AJAX和獲取他們裝載的東西確切的代碼(HTML,JavaScript的,..)?這是唯一的方法。 – Amber 2011-03-19 19:40:36

+1

除非您基本上使用PHP構建瀏覽器,否則無法在抓取的頁面中「運行」JavaScript。 – 2011-03-19 19:45:03

+0

我還沒有訪問我想要的源代碼的網站,但你究竟是什麼意思? – Christoffer 2011-03-19 19:49:04

回答

2

嘗試使用Firefox的Web Developer擴展。您可以右鍵單擊某個頁面,然後從其中一個Web Developer選項中單擊「查看生成的源」。

希望這是你所需要的。

+0

+1我發佈了相同的建議。 – 2011-03-19 19:42:21

+0

對不起,這並沒有說在原來的問題,但它必須是能夠自動運行在服務器上的一些代碼。所以Firefox不會這樣做:\ – Christoffer 2011-03-19 19:46:50

+0

Marc B在這種情況下是正確的。 AJAX基本上是瀏覽器運行一些JavaScript修改頁面的源代碼。如果你可以修改AJAX驅動的頁面,你可以編寫一個沒有JavaScript的瀏覽器回退,這將解決你的問題。 – 2011-03-19 19:53:54

0

當我需要測試這個時,我使用類似FireBug的東西(對於Firefox而言,可以在其他瀏覽器上使用'light'版本)。

Firebug是爲這個偉大的,因爲它會告訴你的是,瀏覽器是使用生成頁面

+0

對不起,這沒有說在原來的問題,但它必須是一些代碼,可以在服務器上自動運行。所以Firefox不會這樣做:\ – Christoffer 2011-03-19 19:47:52

+0

如果你想在服務器解析它之前得到服務器端代碼(比如php,asp,java,...),那麼你的運氣不好。無法通過物理訪問服務器,無法解析它。 – dbers 2011-03-20 00:04:41