wget et belle URL

Pour automatiser le travail, j'ai besoin de télécharger de manière récursive la page Web. j'utilise wget, Comme il s'agit probablement de l'outil le plus pratique pour les programmeurs utilisant le drapeau -r Aller sur le lien.

wget, hovewer, Ne gère pas de belles URL, c'est-à-dire
http://webpage/index.php/my/pretty/link
, Les considérer comme des sous-répertoires.

Y at-il une solution à ce problème? (Je préférerais ne pas changer le code source de cette page Web.)

Hourra, MH

EDIT: Problème résolu

Merci pour les réponses significatives!

J'ai réussi à résoudre ce problème - Cependant, apporter de petites modifications à la page Web mentionnée.

Ce que j'ai fait était simplement: j'ai utilisé les fonctions de réécriture des URL de mon serveur et des URL redirigées de
http://webpage/my/pretty/link
à
http://webpage/index.php/my/pretty/link
. Puis en utilisant les indicateurs suivants wget:

wget --mirror --page-requisites --html-extension --convert-links [url=http://webpage/]http://webpage/[/url]

Voilà! Tout cela fonctionne parfaitement (Dans le processus, le répertoire est créé, mais à partir de maintenant les gérer avec un script trivial).
Invité:

Dominique

Confirmation de:

Bien, comme wget devrait savoir si index.php / my / pretty

ne pas

catalogue? Ce n'est pas évident du point de vue du client HTTP.

Peut-être que tu peux

wget --exclude-directories

Se déplacer? Ou peut vérifier

wget -nd

, qui créera un ensemble plat de fichiers (Pas un arbre de catalogue). Vérifie ça.

Dominique

Confirmation de:

Les URL mignonnes ne sont généralement pas autosuffisantes, elles utilisent plus souvent un mécanisme de transmission de données d'avant en arrière (généralement autour POST ou des fichiers cookie) Application basée sur les infrastructures MVC sur le backend.

Si vous utilisez plusieurs appels wget, Il est à noter que wget Utilise des fichiers cookie, Mais par défaut ne les sauve pas ... Cela signifie que chacun wget va courir avec un fichier frais cookie et n'aura pas d'informations de statut accessibles . Cela vous aidera dans ces paramètres. --save-cookies (Nom de fichier) et --load-cookies (Nom de fichier).

Si l'application Web utilise POST En tant que mécanisme, je suppose que vous devrez probablement écrire un robot de recherche spécial, spécialement conçu pour ce site.

Emilie

Confirmation de:

Peut-être que vous pouvez utiliser Firefox avec adduction iMacros au lieu wget? Il prend en charge la ligne de commande, mais ne peut pas automatiquement aller sur les liens. (Vous devrez écrire un script).

http://wiki.imacros.net/iMacro ... pport
Je l'utilise pour le téléchargement quotidien de divers rapports.

Catherine

Confirmation de:

Si vous obtenez le même site plusieurs fois, vous pouvez envisager l'équipe alias, Vous pouvez créer un pseudonyme avec un nom clair pour wget avec chemin complet

alias mywget='wget [url=http://domain.com/file/?search&channel=2]http://domain.com/file/?search&channel=2[/url]4'

Évidemment, ajoutez des commutateurs dont vous avez besoin, alors vos vues peuvent simplement courir mywget, Effectuer la fonction

Bien que je ne suis pas sûr de ce qui se passe quand il tombe dans &, Puisque vous placez habituellement une telle URL dans ses citations

J'espère que cela aidera

Pour répondre aux questions, connectez-vous ou registre