Mendapatkan halaman web menggunakan Wget, Curl dan Lynx

Mendapatkan halaman web menggunakan Wget, Curl dan Lynx

Sama ada anda seorang profesional IT yang perlu memuat turun laporan bug dalam talian 2000 ke dalam fail teks rata dan menghuraikannya untuk melihat mana yang memerlukan perhatian, atau ibu yang ingin memuat turun 20 resipi dari laman web domain awam, anda boleh mendapat manfaat daripada mengetahui alat yang membantu anda memuat turun halaman web ke dalam fail berasaskan teks. Sekiranya anda berminat untuk mempelajari lebih lanjut mengenai cara menghuraikan halaman yang anda muat turun, anda boleh melihat manipulasi data besar kami untuk keseronokan dan keuntungan bahagian 1 artikel.

Dalam tutorial ini anda akan belajar:

  • Cara Mendapatkan/Muat turun Laman Web Menggunakan Wget, Curl dan Lynx
  • Apa perbezaan utama antara alat Wget, Curl dan Lynx
  • Contoh yang menunjukkan cara menggunakan wget, curl dan lynx
Mendapatkan halaman web menggunakan Wget, Curl dan Lynx

Keperluan perisian dan konvensyen yang digunakan

Keperluan Perisian dan Konvensyen Talian Perintah Linux
Kategori Keperluan, konvensyen atau versi perisian yang digunakan
Sistem Pengedaran linux-bebas
Perisian Baris perintah bash, sistem berasaskan linux
Yang lain Sebarang utiliti yang tidak termasuk dalam shell bash secara lalai boleh dipasang menggunakan sudo apt-get memasang nama utiliti (atau pemasangan yum untuk sistem berasaskan redhat)
Konvensyen # - memerlukan komando linux untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$-Memerlukan komando linux untuk dilaksanakan sebagai pengguna yang tidak istimewa

Sebelum kita memulakan, sila pasang 3 utiliti menggunakan arahan berikut (di Ubuntu atau Mint), atau gunakan pemasangan yum bukan pemasangan apt Sekiranya anda menggunakan taburan Linux berasaskan Redhat.

$ sudo apt-get pemasangan wget curl lynx 


Setelah selesai, mari kita mulakan!

Contoh 1: wget

Menggunakan wget Untuk mendapatkan halaman adalah mudah dan mudah:

$ 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 menyelesaikan Linuxconfig.org (linuxconfig.org) ... 2606: 4700: 20 :: 681a: 20d, 2606: 4700: 20 :: 681a: 30d, 2606: 4700: 20 :: ac43: 4b67, ... menyambung ke linuxconfig.org (linuxconfig.org) | 2606: 4700: 20 :: 681a: 20d |: 443 ... bersambung. Permintaan HTTP Dihantar, Menunggu Respons ... 200 OK Panjang: Teks/Teks/HTML] Penjimatan ke: 'Linux-Complex-Bash-One-Liner-Explex-Complex-Bash-One-Liner-Examples [] 51.98k --.-Kb/s dalam 0.005S 2020-10-03 15:30:12 (9.90 MB/s)-'Linux-Complex-Bash-One-Liner-Examples' Saved [53229] $ 

Di sini kami memuat turun artikel dari Linuxconfig.org ke dalam fail, yang secara lalai dinamakan sama dengan nama dalam URL.

Mari lihat kandungan fail

$ file linux-complex-bash-one-liner-contoh linux-complex-bash-one-liner-examples: Dokumen HTML, teks ASCII, dengan garis yang sangat panjang, dengan CRLF, Cr, LF line terminators $ head -n5 linux- Complex-bash-one-liner-examples      

Hebat, fail (utiliti klasifikasi fail) Mengiktiraf fail yang dimuat turun sebagai HTML, dan kepala mengesahkan bahawa 5 baris pertama (-n5) kelihatan seperti kod html, dan berdasarkan teks.

Contoh 2: Curl

$ curl https: // linuxconfig.Org/Linux-Complex-Bash-One-Liner-examples> Linux-Complex-Bash-One-Liner-Examples % Jumlah % Diterima % Xferd Purata Masa Kelajuan Masa DLOAD Semasa Muat naik Jumlah Total yang Dibelan Kiri 100 53045 0 53045 0 0 84601 0-:-:--:-:--:-:-84466 $ 

Kali ini kami menggunakan curl untuk melakukan perkara yang sama seperti dalam contoh pertama kami. Secara lalai, curl akan mengeluarkan standard keluar (stdout) dan paparkan halaman HTML di terminal anda! Oleh itu, kita sebaliknya mengalihkan (menggunakan >) ke fail Linux-Complex-Bash-One-Liner-examples.

Kami sekali lagi mengesahkan kandungannya:

$ file linux-complex-bash-one-liner-contoh linux-complex-bash-one-liner-examples: Dokumen HTML, teks ASCII, dengan garis yang sangat panjang, dengan CRLF, Cr, LF line terminators $ head -n5 linux- Complex-bash-one-liner-examples      


Hebat, hasil yang sama!

Salah satu cabaran, apabila kita mahu memproses ini/fail ini lagi, ialah formatnya adalah berdasarkan HTML. Kita dapat menghuraikan output dengan menggunakan sed atau awk dan beberapa ungkapan biasa separa kompleks, untuk mengurangkan output ke teks sahaja tetapi berbuat demikian agak rumit dan sering tidak mencukupi kesilapan. Sebaliknya, mari kita gunakan alat yang diaktifkan secara asli/diprogramkan untuk membuang halaman ke dalam format teks.

Contoh 3: Lynx

Lynx adalah alat lain yang boleh kita gunakan untuk mendapatkan halaman yang sama. Walau bagaimanapun, tidak seperti wget dan curl, Lynx dimaksudkan untuk menjadi penyemak imbas penuh (berasaskan teks). Oleh itu, jika kita mengeluarkan dari Lynx, output akan menjadi teks, dan bukan HTML, berdasarkan. Kita boleh menggunakan lynx -dump Perintah untuk mengeluarkan laman web yang diakses, bukannya memulakan penyemak imbas sepenuhnya interaktif (berasaskan ujian) dalam klien Linux anda.

$ lynx -dump https: // linuxconfig.Org/linux-complex-bash-one-liner-examples> linux-complex-bash-one-liner-examples $ 

Mari kita periksa kandungan fail yang dibuat sekali lagi:

$ file linux-complex-bash-one-liner-contoh linux-complex-bash-one-liner-examples: UTF-8 unicode text $ head -n5 linux-complex-bash-one-liner-examples * [1] Ubuntu + O [2] Kembali O [3] Ubuntu 20.04 o [4] Ubuntu 18.04 

Seperti yang anda lihat, kali ini kami mempunyai UTF-8 Unicode fail berasaskan teks, tidak seperti sebelumnya wget dan curl contoh, dan kepala Perintah mengesahkan bahawa 5 baris pertama adalah berasaskan teks (dengan rujukan kepada URL dalam bentuk [NR] penanda). Kita dapat melihat URL ke arah akhir fail:

$ Tail -N86 Linux-Complex-Bash-One-Liner-Examples | kepala -n3 pautan yang kelihatan 1. https: // linuxconfig.org/ubuntu 2. https: // linuxconfig.Org/Linux-Complex-Bash-One-Liner-examples 

Mendapatkan halaman dengan cara ini memberi kami manfaat yang besar untuk mempunyai fail berasaskan teks bebas HTML yang boleh kami gunakan untuk memproses lebih lanjut jika diperlukan.

Kesimpulan

Dalam artikel ini, kami mempunyai pengenalan ringkas kepada wget, curl dan Lynx alat, dan kami dapati bagaimana yang terakhir dapat digunakan untuk mendapatkan laman web dalam format teks yang menjatuhkan semua kandungan HTML.

Tolong, selalu gunakan pengetahuan yang diperoleh di sini secara bertanggungjawab: Tolong jangan terlalu banyak memuatkan webservers, dan hanya dapatkan domain awam, hak cipta, atau CC-0 dll. data/halaman. Juga selalu pastikan untuk memeriksa sama ada terdapat pangkalan data/dataset yang boleh dimuat turun dari data yang anda minati, yang lebih disukai untuk mendapatkan halaman web secara individu.

Nikmati pengetahuan baru anda, dan, ibu, menantikan kek yang anda muat turun resipi menggunakan Lynx -Lump! Sekiranya anda menyelam ke mana -mana alat, sila tinggalkan komen dengan penemuan anda.

Tutorial Linux Berkaitan:

  • Manipulasi data besar untuk keseronokan dan keuntungan bahagian 1
  • Manipulasi data besar untuk keseronokan dan keuntungan bahagian 3
  • Manipulasi data besar untuk keseronokan dan keuntungan bahagian 2
  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Muat turun fail wget di linux
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Muat turun fail curl di linux
  • Perkara yang perlu dipasang di Ubuntu 22.04
  • Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?