2012-01-25 62 views
2

我有一個爲搜尋器設置的基本結構。現在我在一些PHP驅動的網站上發佈它,它的功能就像一個魅力。儘管現在我想要從ajax內容構建數據表。Python爬蟲。解析並執行ajax

目前我正在使用Mechanize for PYTHON和perl來構建我的爬行器。雖然Mechanize模塊不執行AJAX。我如何獲得由異步ajax構建的內容?

我知道有一種叫Selenium的東西,一個真正的自動化瀏覽器。但這是我唯一的選擇嗎?

回答

1

你可以運行一個無頭瀏覽器,例如phantomjs,它可以理解JavaScript,DOM等,但是你必須用Javascript編寫代碼,好處是你可以做任何你想做的事情。

還有另一種方法,但它的messy

您可以觀察點擊按鈕時的請求(使用Firefox中的Firebug或Chrome中的開發人員工具)。比嘗試反向工程在頁面後面運行的JavaScript,並嘗試使用您的python代碼做類似的事情,爲了看看Spidermonkey

+0

是不是有一些爲什麼對我來說,拿出實際的JavaScript(s )並將其發送給某個執行者或處理程序。那是做所有的請求,並提供給我的輸出?或者是我應該使用spidermonkey的?感謝您的回覆 –

+0

spidermonkey模塊允許在Python中實現Javascript類,對象和函數,以及JavaScript腳本和函數的'評估'和調用。 – RanRag

+0

並看看這裏http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – RanRag