Jeśli spróbuję wget na stronie internetowej, otrzymam stronę w formacie HTML. Czy można pobrać tylko tekst pliku bez powiązanego HTML? (Jest to dla mnie wymagane, ponieważ niektóre strony HTML zawierają c program jest pobierany z tagami HTML. Muszę go otworzyć w przeglądarce i ręcznie skopiować tekst, aby utworzyć plik .c.)
17
.c
. To nie jest trudne, ale zależy od struktury strony. Jeśli podasz link, być może ktoś pomoże ci z dokładnym kodem. W przeciwnym raziesed
lubperl
są twoimi przyjaciółmi.Odpowiedzi:
wget
pobierze tylko dokument. Jeśli dokument jest w formacie HTML, to czego potrzebujesz, to wynik jego parsowania.Możesz na przykład użyć
lynx -dump -nolist
, jeśli masz w pobliżu rysia.lynx
jest lekką, prostą przeglądarką internetową, która ma tę-dump
funkcję, wykorzystywaną do generowania wyniku procesu parsowania.-nolist
unika listy linków na końcu, która pojawi się, jeśli strona zawiera hiperłącza.Jak wspomniano @Thor,
elinks
można do tego również użyć, ponieważ ma również-dump
opcję (i musi-no-references
pominąć listę linków). Może to być szczególnie przydatne, gdy przechodzisz przez jakąś stronę za pomocą -sigh- frames (MTFBWY).Pamiętaj też, że jeśli strona nie jest tak naprawdę tylko kodem C z tagami HTML, musisz sprawdzić wynik, aby upewnić się, że nie ma tam nic więcej niż kod C.
źródło
Jeśli nie masz zainstalowanych tych innych narzędzi, tylko wget, a strona nie ma formatowania, tylko zwykły tekst i linki, np. Kod źródłowy lub lista plików, możesz rozebrać HTML przy pomocy sed:
Używa wget, aby zrzucić źródło strony do STDOUT i sed, aby usunąć dowolne pary <> i cokolwiek między nimi.
Następnie możesz przekierować dane wyjściowe polecenia sed do pliku, który chcesz utworzyć, używając>:
Uwaga: może się okazać, że w pliku nie ma dodatkowych spacji, których nie chcesz (np. Linie są wcięte w kilku kolumnach)
Najłatwiej może być użyć edytora tekstu, aby uporządkować ten plik (lub formatyzator źródłowy podczas pobierania kodu źródłowego w języku C).
Jeśli potrzebujesz zrobić tę samą prostą rzecz w każdym wierszu pliku, możesz dołączyć polecenie, aby to zrobić w poleceniu sed (tutaj usuwając jedną spację wiodącą):
źródło
aby dodać kolejne narzędzie. Wolę
w3m
, która jestlynx
jak przeglądarka konsoli. Możesz sprawdzić, co jest już dostępne w twoim systemie.źródło