2010-10-08 55 views
1

我發現了一個項目,jaxer,它在服務器端嵌入了Firefox的JavaScript引擎,因此它可以很好地解析HTML服務器端。但是,這個項目似乎已經死了。這對於抓取網頁來解析HTML &提取數據非常有用。是否有服務器端的dom引擎適合爬行?

是否有一些新技術可用於提取信息?

回答

0

我過去所做的是使用Selenium RC來控制代碼的網絡瀏覽器(通常是Firefox),以使用真實的網絡瀏覽器加載和解析網站。

這很酷的事情是,你主要是用你熟悉的語言編寫代碼,無論是Perl,Ruby還是C#。但要充分利用Selenium的力量,你仍然需要知道和寫javascript。

1

另一個有趣的方法是使用node.js結合jsdomnode-htmlparser加載頁面並解析JavaScript。目前它還沒有開箱即用,但Dav Glass(來自雅虎)已經有success running YUI in node.js使用該組合的修改版本。

這很有趣,如果你認爲沒有什麼東西足夠好,你想實現自己的。如果是這樣,它將成爲一個優秀的開源項目。

+0

注意:我將此作爲單獨的答案添加,因爲它與我以前的答案完全不同。 – slebetman 2010-10-08 17:21:20

0

我已經在python + pywebkitgtk + javascript中編寫了一個支持js的爬行器,取得了一些成功。它比傳統的抓取工具慢得多,但它可以完成工作,並可以做很酷的工作,比如製作屏幕截圖和拾取被js注入「遮蔽」的內容。

有與這裏的一些示例代碼像樣的文章:

http://blog.motane.lu/2009/06/18/pywebkitgtk-execute-javascript-from-python/

0

ItsNat是不是JavaScript是基於Java類似Jaxer的主要區別。

相關問題