在scrapy框架中解析JSON响应的最佳方法python

问题描述:

我需要取消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

与大多数情况一样,这取决于您的目标。如果你想要最忠实的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