1

我正在嘗試與使用嚴重混淆javascript的HTML 4.0網站進行交互來隱藏常規HTML元素。我想要做的是填寫一張表格並閱讀返回的結果,這比預期的要難得多。解析並與混淆的javascript進行交互

當我使用Firebug閱讀這個頁面時,它給了我去混淆的源代碼,然後我可以用它來完成我想完成的任務。 Firebug的輸出結果顯示了一個網站的所有常規元素,例如-tags等,它們都隱藏在原始源代碼中。

我用Python編寫了我的應用程序的其餘部分,使用機械化與其他Web服務交互,所以我寧願使用現有的Python模塊來做到這一點,如果可能的話。問題不僅在於如何以機械化理解的方式閱讀源代碼,而且也知道如何生成Web服務器可以解釋的響應。即使HTML代碼被混淆,我是否可以使用常規機械化控件?

在我的項目開始時,我使用pywebkitgtk而不是機械化,但拋棄它,因爲它沒有真正在python中實現。大多數功能都缺失。這可能是一個明智的方法,啓動一個webkit瀏覽器,我從中讀取HTML並將其用於機械化?

任何幫助將不勝感激,我真的在這裏綁定。謝謝!

編輯:我嘗試傾銷HTML從機械化開放獲取與pywebkitgtk,使用load_html_string,然後評估HTML的方式。不幸的是,由於我試圖解析的文檔動態加載更多的資源,這些腳本只是停止等待資源加載。請注意,我無法使用webkit加載文檔本身,因爲我使用機械化的CookieJar函數來允許我先登錄。

我也嘗試從webkit轉儲HTML,由於某種原因,轉售了只有混淆的JavaScript,同時顯示網站完美罰款。如果webkit可以按照Firebug的方式轉儲反混淆JavaScript,我可以使用它並根據乾淨的代碼形成一個請求。

回答

1

而不是試圖處理頁面,如何使用Firebug找出名稱的表單字段,然後使用httplib或其他方式發送具有必要字段和設置的請求?

如果使用ajax發送它,您應該能夠確定在Firebug中發送到服務器的值。

+0

+1使其更容易。在我自己的一個當前項目中,我發現使用urllib爲*非常*類似的HTTP請求增加一個URL字段要比用機械化字面爬取頁面容易得多。 –

+0

@Jani:我想我會試試這個。這很煩人,因爲我正在查看ActionScript代碼,它完全符合我想要的,但我無法將Adobe Air平臺用於我的項目。我會在這方面做對。謝謝! – cmbrnt

+0

想到這一點之後,我意識到了一個問題:我需要解析的結果將在混淆的javascript代碼中返回,這不幸使得這個解決方案不可能,就像我看到的那樣。 – cmbrnt