Как хранить элементы scrapyd в формате json

Я пытаюсь сохранить scrapyd элементов в JSON file. Фактически по умолчанию он хранит элементы в файле json, но вот так: File_1:

{item1}
{item2}
....

И если я запустил своего паука с помощью scrapy crawl spidername -o fileName -t json

он будет хранить элемент следующим образом: File_2:

[{item1},
{item2},
....]

Если я попытаюсь скопировать и вставить содержимое File_1 в jsonParser, я получил сообщение об ошибке ожидаемого [, но File_2 работает нормально. Может ли кто-нибудь сказать мне, как хранить элементы в правильном формате JSON с помощью scrapyd


person Community    schedule 28.05.2013    source источник


Ответы (3)


Попытайтесь сохранить элементы непосредственно в базе данных, а не хранить их в файле .... затем сохраните элементы из файла в базу данных ... или попробуйте прочитать построчно из этого файла JSON, а затем вместо этого делайте то, что вы хотите чтения всего файла за раз ...

person Vaibhav Jain    schedule 07.06.2013

На самом деле это формат json lines, json не подходит для очень больших данных о ставках. вот почему scrapy разделяют каждый item в формате, разделенном запятыми. вы можете добавить [ & ] в начало и конец файла, тогда это будет json,

person akhter wahab    schedule 30.05.2013
comment
аааа я забыл, что моя ошибка вам нужно добавить запятую в конце каждой строки .. или вы также можете читать каждую строку как словарь - person akhter wahab; 30.05.2013

Добавьте в свой settings.py:

FEED_FORMAT='json'
person Lucas Pottersky    schedule 16.06.2016
comment
Это изменяет фактический вывод на указанный канал, но не меняет feed_uri - person Zachary Wilson; 18.07.2018