Saya memiliki lebih dari 100.000 bookmark di firefox. Saya ingin menyimpannya di basis data kontak agar saya tidak kehilangan mereka dan juga lebih mudah untuk dikelola.
Ukuran file html adalah 55meg.
Bagaimana saya melakukan ini?
Secara default, ekspor bookmark adalah file JSON.
Jadi jika Anda memiliki beberapa keterampilan pengembangan, saya akan menyarankan database NoSQL yang menangani data terstruktur JSON. Apache CouchDB adalah alat yang demikian. Ini cukup ringan dalam hal penggunaan sumber daya, saya menjalankannya sebagai layanan pada laptop Windows 7 saya dan dapat bersaksi bahwa itu tidak menghalangi.
Node.js adalah cara yang baik untuk menulis front-end untuk itu tetapi ada banyak opsi lain termasuk built-in web console - Futon ( http://localhost:5984/_utils/
). Ada panduan untuk memulai di sini .
UPDATE: Untuk menambahkan bookmark Anda ke database kosong yang disebut "ff-bookmark", jika Anda telah menginstal CURL, Anda dapat menggunakan perintah berikut (Saya menggunakan prompt Windows cmd di sini):
curl -X POST http://localhost:5984/ff-bookmarks -d @bookmarks-2014-01-20.json -H "Content-Type:application/json"
The @
simbol memberitahu keriting yang ingin Anda memuat file dengan nama berikut. -H diperlukan untuk memberi tahu jenis konten yang benar untuk diteruskan ke CouchDB. Menggunakan POST berarti bahwa Sofa akan membuat UID internal untuk entri.
Anda harus menerima respons seperti:
{"ok":true,"id":"349eb4f32fc6f0c85cbcc473160018dd","rev":"1-31384010a78f57165177d9bfb6cd1b53"}
Anda sekarang dapat memeriksa konten menggunakan Futon.
UPDATE 2: Berikut adalah fungsi peta yang dapat Anda gunakan yang mulai membongkar struktur dan dapat memberi Anda ide bagaimana melanjutkan:
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);
}
}
}
}
}
Dan hanya untuk mencatat bahwa CouchDB memungkinkan Anda untuk menentukan keluaran tidak hanya sebagai JSON! Anda dapat dengan mudah mendefinisikan dokumen desain yang akan mengembalikan output sebagai XML atau HTML sesuai keinginan Anda.