Pobieranie stron internetowych za pomocą WGET, Curl i Lynx
- 1320
- 342
- Seweryn Augustyniak
Niezależnie od tego, czy jesteś profesjonalistą IT, który musi pobrać 2000 raportów z błędów online w plik z płaskim tekstem i przeanalizować je, aby z nich potrzebują uwagi, czy mama, która chce pobrać 20 przepisów z witryny publicznej, możesz skorzystać z znajomości Narzędzia, które pomagają pobierać strony w pliku tekstowym. Jeśli chcesz dowiedzieć się więcej o tym, jak parsować pobierane strony, możesz zapoznać się z naszą manipulacją Big Data dla zabawy i zysku Part 1 Artykuł.
W tym samouczku się nauczysz:
- Jak pobrać/pobrać strony internetowe za pomocą WGET, Curl i Lynx
- Jakie są główne różnice między narzędziami WGET, Curl i Lynx
- Przykłady pokazujące, jak korzystać z WGET, Curl i Lynx
Zastosowane wymagania i konwencje oprogramowania
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Niezależny od rozkładu Linuksa |
Oprogramowanie | Wiersz poleceń Bash, system oparty na Linuksie |
Inny | Wszelkie narzędzie, które nie jest zawarte w skorupce Bash domyślnie można zainstalować za pomocą za pomocą sudo apt-get instal instal narzędzie (Lub Mnij instalacja dla systemów opartych na Redhat) |
Konwencje | # - Wymaga wykonywania Linux -Commands z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda$-Wymaga wykonania Linux-commands jako zwykłego niepewnego użytkownika |
Zanim zaczniemy, zainstaluj 3 narzędzia za pomocą następującego polecenia (na Ubuntu lub Mint) lub użyj Mnij instalacja
zamiast apt Instal
Jeśli używasz rozkładu Linuksa opartego na Redhat.
$ sudo apt-get instaluj curl lynx
Po zakończeniu zacznijmy!
Przykład 1: wget
Za pomocą wget
Aby pobrać stronę, jest łatwe i proste:
$ wget https: // linuxconfig.Org/Linux-Complex-Bash-One-Liner-Examples-2020-10-03 15: 30: 12-- https: // Linuxconfig.Org/Linux-Complex-Bash-One-Liner-Examples Rescinging Linuxconfig.org (Linuxconfig.Org)… 2606: 4700: 20 :: 681a: 20d, 2606: 4700: 20 :: 681a: 30d, 2606: 4700: 20 :: AC43: 4B67,… Łączenie z LinuxConfigigigigi.org (Linuxconfig.org) | 2606: 4700: 20 :: 681a: 20d |: 443… podłączony. Wysłane żądanie HTTP, oczekiwanie na odpowiedź… 200 OK Długość: nieokreślony [Text/HTML] Zapisanie na: „Linux-Complex-Bash-One-Liner-Examples„ Linux-Complex-Bash-One-Liner-Examples [] 51.98K --.-KB/s w 0.005S 2020-10-03 15:30:12 (9.90 MB/s)-„Linux-Complex-Bash-One-Liner-Examples” zapisano [53229] $
Tutaj pobraliśmy artykuł z Linuxconfig.org
w pliku, który domyślnie nazywa się tak samo jak nazwa w adresie URL.
Sprawdźmy zawartość pliku
$ PLIK LINUX-Complex-Bash-One-Liner-Liner-Examples Linux-Complex-Bash-One-Liner-Examples: HTML Dokument, Tekst ASCII, z bardzo długimi wierszami, z CRLF, CR, LF Line Terminatory $ Head -n5 Linux- Przedstawiania złożonych-jeden-lini-liner
Świetnie, plik
(narzędzie klasyfikacji plików) rozpoznaje pobrany plik jako HTML i głowa
potwierdza, że pierwsze 5 linii (-n5
) Wyglądaj jak kod HTML i są oparte na tekście.
Przykład 2: Curl
$ curl https: // linuxconfig.ORG/LINUX-Complex-Bash-One-Liner-Examples> Linux-Complex-Bash-One-Liner-Examples % Otrzymanie % XFerd Średnia prędkość Czas czasowy czas przesyłania DLOAD Całkowita prędkość zwolniona prędkość 100 53045 0 53045 0 0 84601 0-:-:--:-:--:-::-84466 $
Tym razem użyliśmy kędzior
zrobić to samo jak w naszym pierwszym przykładzie. Domyślnie, kędzior
wyjdzie do standardu (Stdout
) i wyświetl stronę HTML w swoim terminalu! W ten sposób zamiast tego przekierowujemy (za pomocą >
) do pliku Linux-kompleks-bash-jeden-liner-examples
.
Ponownie potwierdzamy zawartość:
$ PLIK LINUX-Complex-Bash-One-Liner-Liner-Examples Linux-Complex-Bash-One-Liner-Examples: HTML Dokument, Tekst ASCII, z bardzo długimi wierszami, z CRLF, CR, LF Line Terminatory $ Head -n5 Linux- Przedstawiania złożonych-jeden-lini-liner
Świetny, ten sam wynik!
Jednym z wyzwań, gdy chcemy to dalej przetworzyć/te pliki, jest to, że format jest oparty na HTML. Moglibyśmy przeanalizować wyjście za pomocą sed
Lub Awk
i niektóre półproblemowe wyrażenie regularne, aby zmniejszyć wyjście do tekstu, ale jest to nieco złożone i często niewystarczająco odporne na błędy. Zamiast tego użyjmy narzędzia, które zostało natywnie włączone/zaprogramowane do zrzucania stron do formatu tekstu.
Przykład 3: Lynx
Lynx to kolejne narzędzie, którego możemy użyć do odzyskania tej samej strony. Jednak w przeciwieństwie do wget
I kędzior
, ryś
ma być pełną (opartą tekstową) przeglądarką. Tak więc, jeśli wyprowadzimy z ryś
, Wyjściem będzie tekst, a nie HTML, oparty. Możemy użyć Lynx -dump
Polecenie do wyprowadzenia dostępnej strony internetowej zamiast uruchamiania w pełni interaktywnej (opartej na testach przeglądarki w kliencie Linux.
$ lynx -dump https: // linuxconfig.Org/Linux-Complex-Bash-One-Liner-Examples> Linux-Complex-Bash-One-Liner-Examples $
Zbadajmy jeszcze raz zawartość utworzonego pliku:
$ PLIK LINUX-Complex-Bash-One-Liner-Examples Linux-Complex-Bash-One-Liner-Examples: UTF-8 Unicode Text $ Head -n5 Linux-Complex-Bash-One-Liner-Examples * [1] Ubuntu + o [2] z powrotem o [3] Ubuntu 20.04 O [4] Ubuntu 18.04
Jak widać, tym razem mamy Unicode Unicode Unicode
plik tekstowy, w przeciwieństwie do poprzednich wget
I kędzior
przykłady i głowa
Polecenie potwierdza, że pierwsze 5 wierszy jest oparte na tekście (z odniesieniami do adresu URL w formie [nr]
markery). Możemy zobaczyć adres URL pod koniec pliku:
$ Tail -n86 Linux-Complex-Bash-One-Liner-Examples | Head -n3 Widoczne linki 1. https: // linuxconfig.org/ubuntu 2. https: // linuxconfig.ORG/LINUX-Complex-Bash-One-Liner-Examples
Pobieranie stron w ten sposób zapewnia nam ogromną korzyść z posiadania plików tekstowych bez HTML, których możemy użyć do dalszego przetwarzania, jeśli tak wymaga.
Wniosek
W tym artykule mieliśmy krótkie wprowadzenie do wget
, kędzior
I ryś
Narzędzia i odkryliśmy, w jaki sposób można go użyć do pobierania stron internetowych w formacie tekstowym, upuszczając całą zawartość HTML.
Proszę, zawsze używaj wiedzy uzyskanej tutaj odpowiedzialnie: nie przeciążaj serwisów internetowych i tylko pobieraj domenę publiczną, bez prawa lub CC-0 itp. dane/strony. Zawsze należy sprawdzić, czy istnieje baza danych/zestaw danych do pobrania danych, które Cię interesują, co jest bardzo preferowane od indywidualnego pobierania stron internetowych.
Ciesz się nową znajomą wiedzą i mamo, nie mogę się doczekać tego ciasta, dla którego pobrałeś przepis za pomocą Lynx - -Dump
! Jeśli zanurzysz się w którekolwiek z narzędzi, zostaw nam komentarz do swoich odkryć.
Powiązane samouczki Linux:
- Big Data Manipulacja dla zabawy i zysku Część 1
- Manipulacja Big Data dla zabawy i zysku Część 3
- Manipulacja Big Data dla zabawy i zysku Część 2
- Rzeczy do zainstalowania na Ubuntu 20.04
- Plik WGET Pobierz na Linux
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Plik Curl Pobierz na Linux
- Rzeczy do zainstalowania na Ubuntu 22.04
- Mint 20: Lepsze niż Ubuntu i Microsoft Windows?