2013-04-08 4 views
1

Мне нужно отменить 2 веб-сайта, которые возвращают огромный JSON (1.2MB) и использует JSON + JavaScript для создания HTML. Я хочу знать, что лучше всего подходит?Лучший подход к анализу ответов JSON в рамках scrapy python

  1. Использование селена для визуализации JS и Scrapy HTML-

    | -> Не мои любимые. Проблемы с производительностью.

  2. В самом паутине разбирайте JSON и создавайте предметы.

    | -> В этом случае, какую библиотеку вы рекомендуете?

    | -> Является ли это масштабируемым? Поскольку он будет ограничивать запросы домена.

  3. Сохраните сам JSON для создания элементов и создания трубопроводов.

  4. Сохраните JSON в NoSQL или в очереди и используйте другой скрипт для создания элементов.

Спасибо всем.

+0

использование встроенной библиотеки json? –

ответ

1

Как и в большинстве случаев, это зависит от вашей цели. Если вам нужен самый верный html-рендеринг, тогда вы в значительной степени застреваете в селене или каком-то другом программном веб-клиенте, который может выполнять javascript.

Если вас интересуют только объекты JSON, вы можете захотеть изучить использование scrapy или пользовательских запросов для получения JSON, а затем интерпретировать его с помощью чего-то вроде стандартного python json module.

Этот модуль может легко конвертировать JSON в dicts и упрощает автоматическое преобразование этих dicts в другие объекты python с использованием функций обратного вызова.

К сожалению, я не уверен в масштабируемости этого подхода. Это то, что вам придется исследовать дальше.

+0

Да, у меня ограничение производительности, так как оно будет сканировать что-то вроде 1 ~ 1,5 миллиона страниц. Таким образом, огромные JSON могут привести к проблемам с памятью. Я думаю, что я буду использовать scrapy для извлечения JSON и использования сервера очереди для распределения нагрузки между процессами. – bslima

Смежные вопросы