У меня есть более 100 000 закладок в Firefox. Я хочу сохранить их в базе данных контактов, чтобы не потерять их, а также упростить управление.

Размер HTML-файла составляет 55мег.

Как бы я это сделал?

1 ответ1

2

По умолчанию экспорт закладок представляет собой файл JSON.

Поэтому, если у вас есть навыки разработки, я бы предложил базу данных NoSQL, которая обрабатывает структурированные данные JSON. Apache CouchDB - такой инструмент. Он довольно легкий с точки зрения использования ресурсов, я запускаю его как службу на своем ноутбуке с Windows 7 и могу подтвердить, что он не мешает.

Node.js - хороший способ написания внешних интерфейсов для него, но есть много других вариантов, включая встроенную веб-консоль - Futon (http://localhost:5984/_utils/). Здесь есть руководство по началу работы.

ОБНОВЛЕНИЕ: Чтобы добавить свои закладки в пустую базу данных с именем "ff-bookmarks", если у вас установлен CURL, вы можете использовать следующую команду (я использую приглашение Windows cmd здесь):

curl -X POST http://localhost:5984/ff-bookmarks -d @bookmarks-2014-01-20.json -H "Content-Type:application/json"

Символ @ говорит curl, что вы хотите загрузить файл со следующим именем. -H требуется, чтобы указать curl правильный тип содержимого для передачи в CouchDB. Использование POST означает, что Couch создаст внутренний UID для записей.

Вы должны получить ответ, такой как:

{"ok":true,"id":"349eb4f32fc6f0c85cbcc473160018dd","rev":"1-31384010a78f57165177d9bfb6cd1b53"}

Теперь вы можете проверить содержимое с помощью Futon.

ОБНОВЛЕНИЕ 2: Вот функция карты, которую вы можете использовать, которая начинает распаковывать структуру и может дать вам представление о том, что делать дальше:

function(doc) {
  for each (child in doc.children) {
    if (child.title == "Bookmarks Menu") {
      for each (child1 in child.children) {
        if (child1.title) {
          emit(child1.title, child1);
        }
      }
    }
  }
}

И просто отметим, что CouchDB позволяет указывать вывод не просто как JSON! Вы можете легко определить проектный документ, который будет возвращать вывод в виде XML или HTML по вашему желанию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .