Wenn ich wget auf einer Webseite versuche, erhalte ich die Seite als HTML. Ist es möglich, nur Text einer Datei ohne zugehöriges HTML abzurufen? (Dies ist für mich erforderlich, da einige der HTML-Seiten das Programm c enthalten, das mit HTML-Tags heruntergeladen wird. Ich muss es im Browser öffnen und den Text manuell kopieren, um eine C-Datei zu erstellen.)
17
.c
. Es ist nicht schwer, aber es hängt von der Seitenstruktur ab. Wenn Sie einen Link angeben, wird Ihnen möglicherweise jemand mit genauem Code helfen. Ansonstensed
oderperl
sind deine Freunde.Antworten:
wget
ruft nur das Dokument ab. Wenn das Dokument in HTML vorliegt, ist das gewünschte Ergebnis das Parsen des Dokuments.Sie könnten zum Beispiel verwenden
lynx -dump -nolist
, wenn Sie Luchs in der Nähe haben.lynx
ist ein leichter, einfacher Webbrowser mit der-dump
Funktion, mit der das Ergebnis des Parsing-Vorgangs ausgegeben wird.-nolist
Vermeidet die Liste der Links am Ende, die angezeigt wird, wenn die Seite Hyperlinks enthält.Wie von @Thor erwähnt,
elinks
kann dies auch verwendet werden, da es auch eine-dump
Option hat (und hat-no-references
die Liste der Links weglassen muss). Es kann besonders nützlich sein, wenn Sie mit -sigh- frames (MTFBWY) über eine Site gehen.Beachten Sie auch, dass Sie das Ergebnis überprüfen müssen, es sei denn, es handelt sich bei der Seite wirklich nur um C-Code mit HTML-Tags, nur um sicherzustellen, dass nicht mehr als C-Code vorhanden ist.
quelle
Wenn Sie diese anderen Tools nicht installiert haben, nur wget, und die Seite keine Formatierung hat, nur einfachen Text und Links, z. B. Quellcode oder eine Liste von Dateien, können Sie den HTML-Code mit sed wie folgt entfernen:
Dies verwendet wget, um den Quellcode der Seite in STDOUT abzulegen und sed, um alle <> Paare und alles dazwischen zu entfernen.
Anschließend können Sie die Ausgabe des Befehls sed mit> in die zu erstellende Datei umleiten:
NB: Möglicherweise enthält die Datei ein zusätzliches Leerzeichen, das Sie nicht benötigen (z. B. werden die Zeilen um einige Spalten eingerückt).
Es ist möglicherweise am einfachsten, den Texteditor zu verwenden, um die Datei aufzuräumen (oder einen Quellformatierer, während Sie C-Quellcode herunterladen).
Wenn Sie in jeder Zeile der Datei dasselbe tun müssen, können Sie einen entsprechenden Befehl in den sed-Befehl einfügen (hier ein vorangestelltes Leerzeichen entfernen):
quelle
nur um ein weiteres Tool hinzuzufügen. Ich bevorzuge
w3m
, das istlynx
wie ein Konsolenbrowser. Möglicherweise möchten Sie überprüfen, was bereits auf Ihrem System verfügbar ist.quelle