2013-04-08 54 views
1

我需要取消2個返回巨大JSON(1.2MB)並使用JSON + JavaScript構建HTML的網站。我想知道什麼是最好的方法?在scrapy框架中解析JSON響應的最佳方法python

  1. 使用硒呈現JS和scrapy的HTML

    | - >不是我喜歡的。性能問題。

  2. 在蜘蛛本身解析JSON並創建項目。

    | - >在這種情況下,你們推薦哪個庫?

    | - >這是可擴展的嗎?因爲它會限制域名請求。

  3. 將JSON本身保存爲項目並構建管道以創建項目。

  4. 將JSON保存爲NoSQL或隊列並使用其他腳本創建項目。

謝謝大家。

+0

使用內置的json庫嗎? – 2013-04-08 19:36:23

回答

1

與大多數情況一樣,這取決於您的目標。如果你想要最忠實的html渲染,那麼你在selenium或其他可以執行javascript的其他程序化Web客戶端中執行它就會陷入困境。

如果您只是對JSON對象感興趣,那麼您可能需要考慮使用scrapy或定製請求來獲取JSON,然後使用python的標準json module進行解釋。

該模塊可以非常方便地將JSON轉換爲字典,並且使用回調函數自動將這些字典轉換爲其他python對象變得非常容易。

不幸的是,我不確定這種方法的可擴展性。 這是你必須進一步調查。

+0

是的,我有一個性能限制,因爲它會抓取1〜150萬頁的內容。所以巨大的JSON可能會導致內存問題。我想我將使用scrapy來獲取JSON並使用隊列服務器來分配進程間的負載。 – bslima 2013-04-08 19:51:30