2009-09-15 107 views
1

有很多工具可以用javascript關閉HTML頁面,但是有沒有可以用JavaScript來刮掉的javascript頁面,包括按下javascript回調的按鈕?網頁搜刮基於javascript的網站

我目前正試圖刮即負全部通過JavaScript調用導航網站。所有導致內容的按鈕在沒有href的情況下執行javascript。我可以對JavaScript調用進行反向工程(部分返回HTML),但這需要一些時間,有沒有捷徑?

回答

2

我使用htmlunit,通常使用基於Java的腳本語言(如JRuby)。 HtmlUnit非常棒,因爲它是JavaScript引擎處理所有動態功能,包括幕後的AJAX。使它很容易刮。

1

您是否嘗試過使用scRubyIt?我不是100%確定的,但我想我用它來刮動somo動態網站。

它有一些有用的方法,如

click_link_and_wait 'Get results', 5 
0

在一天結束的時候,這些網站不使用Flash或其他嵌入插件將需要從瀏覽器進行HTTP請求服務器。大多數(如果不是全部)這些請求在它們的URI中將具有模式。使用Firebug/LiveHTTPHeaders捕獲所有的請求,這反過來會讓你看到什麼數據返回。從那裏,你可以構建方法來獲取你想要的數據。

也就是說,當然,他們沒有使用的模糊處理/加密一些蹩腳的形式向你慢下來。

+0

唉,我一直在做這一點,但它是類似於逆向工程現場,並提供了電話。這種方法存在認證問題,API非常糟糕。我寧願不必瞭解這一切......這可能是我只是在懶惰! :) – Quibblesome 2009-09-15 13:07:01

1

如果您使用的是Java(並且想要自動化Internet Explorer),則可以使用Watij。或者,您可以使用Webdriver並自動執行Firefox。 Webdriver也有一個Python API。