Pobieranie stron internetowych za pomocą WGET, Curl i Lynx

Pobieranie stron internetowych za pomocą WGET, Curl i Lynx

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
Pobieranie stron internetowych za pomocą WGET, Curl i Lynx

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
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?