GNU/Linux >> Znalost Linux >  >> Linux

Jak získat text stránky pomocí wget bez html?

wget pouze načte dokument. Pokud je dokument v HTML, to, co chcete, je výsledek analýzy dokumentu.

Můžete například použít lynx -dump -nolist , pokud máte v okolí rysa.

lynx je lehký, jednoduchý webový prohlížeč, který má -dump funkce, která se používá k výstupu výsledku procesu analýzy. -nolist vyhýbá se seznamu odkazů na konci, který se zobrazí, pokud stránka obsahuje nějaké hypertextové odkazy.

Jak zmínil @Thor, elinks lze použít i pro toto, protože má také -dump možnost (a má -no-references vynechat seznam odkazů). Může být zvláště užitečné, pokud procházíte nějakým webem pomocí -sigh- frames (MTFBWY).

Také mějte na paměti, že pokud stránka není opravdu jen kód C se značkami HTML, budete muset zkontrolovat výsledek, abyste se ujistili, že tam není nic víc než kód C.


Pokud nemáte nainstalované tyto další nástroje, pouze wget a stránka nemá žádné formátování jen prostý text a odkazy, např. zdrojový kód nebo seznam souborů, můžete odstranit HTML pomocí sed takto:

wget -qO- http://address/of/page/you/want/to/view/ | sed -e 's/<[^>]*>//g'

To používá wget k výpisu zdroje stránky do STDOUT a sed k odstranění všech <> párů a čehokoli mezi nimi.

Poté můžete přesměrovat výstup příkazu sed do souboru, který chcete vytvořit, pomocí> :

wget -qO- http://.../ | sed -e 's/<[^>]*>//g' > downloaded_file.txt

Poznámka:Možná zjistíte, že má v souboru navíc mezery, které nechcete (např. řádky jsou odsazeny o několik sloupců)

Nejsnazší může být použít váš textový editor k uklidění souboru (nebo zdrojový formátovač, když stahujete zdrojový kód C).

Pokud potřebujete udělat stejnou jednoduchou věc na každém řádku souboru, můžete do příkazu sed zahrnout příkaz, který to udělá (zde odstraníte jednu úvodní mezeru):

wget -qO- http://.../ | sed -e 's/<[^>]*>//g;s/^ //g' > downloaded_stripped_file.txt

stačí přidat další nástroj. Preferuji w3m , což je lynx jako konzolový prohlížeč. Možná budete chtít zkontrolovat, co je již ve vašem systému k dispozici.

w3m -dump website.html

Linux
  1. Jak získat obsah webové stránky v proměnné shellu?

  2. Použití sed k odstranění bloku textu

  3. Jak vložit text na začátek souboru?

  1. sed - jak udělat skupiny regulárních výrazů pomocí sed

  2. Jak vložím text do 1. řádku souboru pomocí sed?

  3. Jak mohu získat seznam všech chybně napsaných slov v textu pomocí Linuxu?

  1. Jak napsat text na obrázek pomocí příkazu Linux

  2. Jak odstranit více náhodných řádků z textového souboru pomocí Sed?

  3. Jak odstranit soubor bez použití rm?