Si j'essaie wget sur une page Web, je reçois la page en html. Est-il possible de récupérer uniquement le texte d'un fichier sans html associé? (Ceci est requis pour moi car certaines des pages HTML contiennent le programme c est téléchargé avec des balises html. Je dois l'ouvrir dans le navigateur et copier manuellement le texte pour créer un fichier .c.)
17
.c
. Ce n'est pas difficile, mais cela dépend de la structure de la page. Si vous fournissez un lien, quelqu'un vous aidera avec le code exact. Sinonsed
ouperl
sont vos amis.Réponses:
wget
ne récupérera que le document. Si le document est en HTML, ce que vous voulez est le résultat de l'analyse du document.Vous pouvez, par exemple, utiliser
lynx -dump -nolist
, si vous avez du lynx autour.lynx
est un navigateur Web léger et simple, doté de la-dump
fonction, utilisé pour afficher le résultat du processus d'analyse.-nolist
évite la liste des liens à la fin, qui apparaîtra si la page contient des hyperliens.Comme mentionné par @Thor,
elinks
peut également être utilisé pour cela, car il a également une-dump
option (et doit-no-references
omettre la liste des liens). Cela peut être particulièrement utile si vous parcourez un site en utilisant -sigh- frames (MTFBWY).En outre, gardez à l'esprit que, à moins que la page ne soit vraiment qu'un code C avec des balises HTML, vous devrez vérifier le résultat, juste pour vous assurer qu'il n'y a rien de plus que du code C.
la source
Si vous n'avez pas installé ces autres outils, seulement wget, et que la page n'a pas de formatage juste du texte brut et des liens, par exemple du code source ou une liste de fichiers, vous pouvez supprimer le HTML en utilisant sed comme ceci:
Cela utilise wget pour vider la source de la page vers STDOUT et sed pour supprimer toutes les paires <> et tout ce qui les sépare.
Vous pouvez ensuite rediriger la sortie de la commande sed vers le fichier que vous souhaitez créer en utilisant>:
NB: Vous pouvez trouver qu'il a un espace supplémentaire dans le fichier que vous ne voulez pas (par exemple, les lignes sont en retrait de quelques colonnes)
Il peut être plus facile d'utiliser votre éditeur de texte pour ranger le fichier (ou un formateur source lorsque vous téléchargez le code source C).
Si vous devez faire la même chose simple pour chaque ligne du fichier, vous pouvez inclure une commande pour le faire dans la commande sed (en supprimant ici un espace de tête):
la source
juste pour ajouter un autre outil. Je préfère
w3m
, qui est unlynx
navigateur de console similaire. Vous voudrez peut-être vérifier ce qui est déjà disponible sur votre système.la source