我一直在用PHP創建一個用於內部應用程序的網頁抓取工具,但其中一個網頁有JavaScript登錄,是否有任何方法可以像平常一樣自主登錄來抓取數據?在PHP中登錄Javascript
(我用捲曲登錄到其他兩個站點)
我一直在用PHP創建一個用於內部應用程序的網頁抓取工具,但其中一個網頁有JavaScript登錄,是否有任何方法可以像平常一樣自主登錄來抓取數據?在PHP中登錄Javascript
(我用捲曲登錄到其他兩個站點)
使用Firebug檢查出是什麼瀏覽器發送到服務器。之後你可以用curl來做同樣的請求。
感謝哥們,我一直只做PHP一天,所以它的全部有點新:) – Candyfloss 2010-07-23 14:04:05
實現JavaScript登錄界面有很多種方法。你的問題沒有提供足夠的信息來明確回答。
大多數JavaScript登錄界面只是通過AJAX登錄。所以這只是一個包含登錄信息的異步POST請求。這可以使用正確的標題僞造。安裝一個瀏覽器插件,讓您監控HTTPS請求,並且您將能夠查看要發送的標題和其他表單數據。
其他人似乎很容易回答,但無論如何感謝 – Candyfloss 2010-07-23 14:07:19
這並不總是工作。某些登錄腳本專門使用安全令牌,以便只重複請求將無法工作。也可能有其他互動旨在防止(或至少使更困難)的網頁搜索。 – 2010-07-23 14:22:55
請定義「JavaScript登錄」。 Curl不會解釋返回的html文件,因此它不會插入任何js文件。 如果密碼輸入正確,JS會做什麼?它是否是ajax請求來獲取數據?或者,數據已經在html中以加密的形式存在,並通過js解碼? – 2010-07-23 14:06:49