Le lien de sauvegarde canonique de Delicious, https://api.del.icio.us/v1/posts/all , ne renvoie que 1000 signets maintenant! Des idées comment obtenir tous mes favoris? Ceci est pour mon script d'exportation , qui a fonctionné jusqu'à ce que les nouveaux propriétaires prennent le relais.
Le vieux api.del.icio.us (98.139.50.166) semble être en panne, donc ce n'est pas une option (en outre, je veux télécharger tout , pas tous mes anciens plus 1000 de mes nouveaux signets).
On dirait que personne d'autre ne l'a déjà fait, alors j'ai passé une soirée à récupérer le script d'exportation , à récupérer des blocs de 1 000 signets à la fois:
#!/bin/sh
#
# NAME
# Delicious.sh - Download your bookmarks
#
# SYNOPSIS
# Delicious.sh <username> <password> <save path>
#
# DESCRIPTION
# Downloads the bookmarks at Delicious as an XML file.
#
# How to export at midnight every day:
#
# First, make sure nobody else can read your crontab. If not, they can
# get access to your password, and I'm not good at sympathy.
#
# $ git clone git://github.com/l0b0/export.git
#
# $ crontab -e
#
# Insert a new line with the following contents (replacing the example
# paths and login with your own):
#
# @midnight /.../export/Delicious.sh user password /.../bookmarks.xml
#
# BUGS
# https://github.com/l0b0/export/issues
#
# COPYRIGHT AND LICENSE
# Copyright (C) 2010, 2011 Victor Engmark
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
set -o errexit -o nounset
if [ $# -ne 3 ]
then
echo 'Wrong parameters - See the documentation on top of the script'
exit 1
fi
USERNAME="$1"
PASSWORD="$2"
EXPORT_PATH="$3"
# Export
EXPORT_URL=https://api.del.icio.us/v1/posts/all
EXPORT_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
chunk_size=1000 # Delicious now only supports exporting 1000 bookmarks at a time
header_lines=3
chunk_lines=$(($chunk_size + $header_lines))
EXPORT_COMPATIBILITY='
s#^<posts \(tag="[^"]*"\) \(total="[^"]*"\) \(user="[^"]*"\)>#<posts \3 update="'$EXPORT_DATE'" \1 \2>#;
s#^<post \(description="[^"]*"\) \(extended="[^"]*"\) \(hash="[^"]*"\) \(href="[^"]*"\) private="[^"]*" shared="[^"]*" \(tag="[^"]*"\) \(time="[^"]*"\)/># <post \4 \3 \1 \5 \6 \2 meta="" />#'
EXPORT_REMOVE_LINES='3,${/^</d}'
bookmark_prefix='<post '
> "$EXPORT_PATH" # Empty bookmarks file
bookmarks_count() {
# How many bookmarks have we fetched?
grep -o "${bookmark_prefix}" "$EXPORT_PATH" | wc -l || true
}
while [ $(($(bookmarks_count) % $chunk_size)) -eq 0 ]
do
wget \
--user="$USERNAME" --password="$PASSWORD" \
-O- \
--no-check-certificate \
"$EXPORT_URL?start=$(bookmarks_count)" >> "$EXPORT_PATH"
done
sed -i -e 's#><#>\n<#g' "$EXPORT_PATH" # Introduce newlines
sed -i -e "$EXPORT_COMPATIBILITY" "$EXPORT_PATH"
sed -i -e "$EXPORT_REMOVE_LINES" "$EXPORT_PATH"
echo '</posts>' >> "$EXPORT_PATH"
Ce script est plus entretenu par moi-même, car je suis passé au non-libre Pinboard , extrêmement rapide ( peu de JavaScript), fonctionnalité complète (par exemple, possibilité de modifier un grand nombre de signets) et fiable (pas de temps d'arrêt depuis ma migration il y a sept mois).
Vous pouvez utiliser les tags suivants:
&start={xx}
(facultatif) → Commencer à retourner publie autant de résultats dans l'ensemble.
&results={xx}
(facultatif) → Renvoie ce nombre de résultats.
&fromdt={CCYY-MM-DDThh:mm:ssZ}
(facultatif) → Filtrer pour les publications à cette date ou ultérieure
&todt={CCYY-MM-DDThh:mm:ssZ}
(facultatif) → Filtrer pour les publications de cette date ou antérieures
Vous trouverez des informations sur l'API ici: http://www.delicious.com/developers