javascript - 有沒有能解析js的庫啊?

來源:互聯網
上載者:User
我想抓取網站上的內容,但是好多內容都js產生的,請問有沒有能夠解析js的庫方便抓取頁面js解析後的html庫啊?比如商城產品資訊,QQ空間內容等。不管什麼語言,能夠快速開發就行,謝謝

回複內容:

我想抓取網站上的內容,但是好多內容都js產生的,請問有沒有能夠解析js的庫方便抓取頁面js解析後的html庫啊?比如商城產品資訊,QQ空間內容等。不管什麼語言,能夠快速開發就行,謝謝

這中不僅僅是解析 js,還要瀏覽器核心的!

推薦幾個:

  • QtWebKit,已知有 Python 和 C++ 支援
  • PhantomJS,已知有 JavaScript、CoffeeScript 和 Python 支援,也是 Webkit 核心
  • SlimerJS,已知有 JavaScript 支援,Gecko 核心,和Firefox是一樣的,也可以運行於Firefox之上
  • CasperJS,已知有 JavaScript 支援。上邊兩個的進一步封裝

感覺你的問題可以不一定要那麼重量級的東西的。

你要抓的頁面內容,你知道它是從 js 來的,那麼這個 js 是從哪裡來的?可能是頁面本身有的,也可能是 ajax 的 json 。

找出包含你需要的內容的這些 js ,然後是 json 的話用一個 json parser ,是 js 的話簡單的也可以用正則提取。

phantomJs maybe the best solution for you, also, casperJs is based on phantomJs that can be a useful tool to grab webpage content created by javascript or ajax

試試 node.js

從你的描述聽起來,是想抓頁面,但是頁面裡內容是JS生產的,你用抓頁面的方法,抓下來一個空殼子,啥也沒有。對吧?

這樣的話,我建議你使用“無頭瀏覽器”,首推樓上說的PhantomJS,它本質上就是個瀏覽器,只是沒有使用者介面而已,通過編程來調用,最後可以和你的外部代碼產生一些互動,給你返回(最終產生的)HTML、給你等等。

直接用nodejs,然後執行返回內容就妥了

我一般在這種情況下,都是自己把js代碼看一下,找到需要的地方然後自己仿照實現出來,而且java下貌似有一個庫是可以執行js代碼的,比如我在做新浪微博類比登入的時候就是直接將網站js中的加密函數提取出來,然後在代碼中執行獲得結果,最後類比請求就好了

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.