Mengambil halaman web menggunakan wget, curl dan lynx

Mengambil halaman web menggunakan wget, curl dan lynx

Apakah Anda seorang profesional TI yang perlu mengunduh 2000 laporan bug online ke dalam file teks datar dan menguraikannya untuk melihat mana yang membutuhkan perhatian, atau ibu yang ingin mengunduh 20 resep dari situs web domain publik, Anda dapat memperoleh manfaat dari mengetahui Alat yang membantu Anda mengunduh halaman web ke dalam file berbasis teks. Jika Anda tertarik untuk mempelajari lebih lanjut tentang cara menguraikan halaman yang Anda unduh, Anda dapat melihat manipulasi data besar kami untuk bersenang -senang dan laba bagian 1 artikel.

Dalam tutorial ini Anda akan belajar:

  • Cara mengambil/mengunduh halaman web menggunakan wget, curl dan lynx
  • Apa perbedaan utama antara alat Wget, Curl dan Lynx
  • Contoh menunjukkan cara menggunakan wget, curl dan lynx
Mengambil halaman web menggunakan wget, curl dan lynx

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Distribusi Linux-independen
Perangkat lunak Baris perintah bash, sistem berbasis Linux
Lainnya Utilitas apa pun yang tidak termasuk dalam shell bash secara default dapat diinstal menggunakan sudo apt-get install-name utilitas (atau instalasi yum untuk sistem berbasis redhat)
Konvensi # - mengharuskan Linux -Commands untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$-mengharuskan Linux-Commands untuk dieksekusi sebagai pengguna biasa

Sebelum kita mulai, silakan instal 3 utilitas menggunakan perintah berikut (di ubuntu atau mint), atau gunakan instalasi yum alih-alih instalasi yang tepat Jika Anda menggunakan distribusi Linux berbasis redhat.

$ sudo apt-get install wget curl lynx 


Setelah selesai, mari kita mulai!

Contoh 1: wget

Menggunakan wget Untuk mengambil halaman itu mudah dan langsung:

$ wget https: // linuxconfig.org/linux-complex-bash-one-liner-ecamples --2020-10-03 15: 30: 12-- https: // linuxconfig.org/linux-complex-bash-one-liner-ecamples menyelesaikan linuxconfig.org (linuxconfig.org)… 2606: 4700: 20 :: 681a: 20d, 2606: 4700: 20 :: 681a: 30d, 2606: 4700: 20 :: AC43: 4B67,… Menghubungkan ke LinuxConfig.org (linuxconfig.org) | 2606: 4700: 20 :: 681a: 20d |: 443… terhubung. Permintaan http terkirim, menunggu respons ... 200 OK Panjang: Tidak ditentukan [Teks/html] Menyimpan untuk: 'Linux-Complex-Bash-One-Liner-Liner-Linux-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' disimpan [53229] $ 

Di sini kami mengunduh artikel dari LinuxConfig.org ke dalam file, yang secara default dinamai sama dengan nama di URL.

Mari kita periksa konten file

$ file linux-complex-bash-one-liner-contoh Linux-complex-bash-one-liner-liner-contoh: dokumen html, teks ASCII, dengan baris yang sangat panjang, dengan crlf, cr, lf line terminator $ head -n5 linux- Kompleks-bash-one-liner-exciles      

Besar, mengajukan (utilitas klasifikasi file) mengenali file yang diunduh sebagai html, dan kepala menegaskan bahwa 5 baris pertama (-n5) terlihat seperti kode HTML, dan berdasarkan teks.

Contoh 2: keriting

$ curl https: // linuxconfig.org/linux-complex-bash-one-liner-ecamples> linux-complex-bash-one-liner-exampels % Total % menerima % xferd kecepatan rata-rata waktu waktu saat ini unggah dload total dihabiskan kecepatan kiri 100 53045 0 53045 0 0 84601 0-:-:--:-:--:-::-84466 $ 

Kali ini kami gunakan keriting untuk melakukan hal yang sama seperti pada contoh pertama kami. Secara default, keriting akan output ke standar keluar (stdout) dan tampilkan halaman HTML di terminal Anda! Jadi, kami malah mengalihkan (menggunakan >) ke file Linux-Complex-Bash-One-Liner-Examples.

Kami kembali mengkonfirmasi isinya:

$ file linux-complex-bash-one-liner-contoh Linux-complex-bash-one-liner-liner-contoh: dokumen html, teks ASCII, dengan baris yang sangat panjang, dengan crlf, cr, lf line terminator $ head -n5 linux- Kompleks-bash-one-liner-exciles      


Hebat, hasil yang sama!

Satu tantangan, ketika kami ingin memproses file ini/ini lebih lanjut, adalah bahwa formatnya berbasis HTML. Kita bisa mengurai output dengan menggunakan sed atau AWK dan beberapa ekspresi reguler semi-kompleks, untuk mengurangi output menjadi hanya teks tetapi melakukannya agak kompleks dan seringkali tidak cukup tahan kesalahan. Sebaliknya, mari kita gunakan alat yang diaktifkan secara native/diprogram untuk membuang halaman ke dalam format teks.

Contoh 3: Lynx

Lynx adalah alat lain yang dapat kita gunakan untuk mengambil halaman yang sama. Namun, tidak seperti wget Dan keriting, Lynx dimaksudkan untuk menjadi browser lengkap (berbasis teks). Jadi, jika kita mengeluarkan dari Lynx, outputnya adalah teks, dan bukan html, berdasarkan. Kita bisa menggunakan Lynx -dump Perintah untuk mengeluarkan halaman web yang diakses, alih-alih memulai browser yang sepenuhnya interaktif (berbasis tes) di klien Linux Anda.

$ lynx -dump https: // linuxconfig.org/linux-complex-bash-one-liner-ecamples> linux-complex-bash-one-liner-icamples $ 

Mari kita periksa isi file yang dibuat sekali lagi:

$ file linux-complex-bash-one-liner-praparan Linux-complex-bash-one-liner-liner-contoh: UTF-8 Teks UNICODE $ 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 memiliki UTF-8 Unicode file berbasis teks, tidak seperti sebelumnya wget Dan keriting contoh, dan kepala Perintah mengkonfirmasi bahwa 5 baris pertama berbasis teks (dengan referensi ke URL dalam bentuk [NR] penanda). Kita dapat melihat URL menjelang akhir file:

$ tail -n86 Linux-Complex-Bash-One-Liner-Expamples | head -n3 Tautan yang terlihat 1. https: // linuxconfig.org/ubuntu 2. https: // linuxconfig.org/linux-complex-bash-one-liner-examples 

Mengambil halaman dengan cara ini memberi kita manfaat besar dengan memiliki file berbasis teks bebas HTML yang dapat kita gunakan untuk memproses lebih lanjut jika diperlukan.

Kesimpulan

Dalam artikel ini, kami memiliki pengantar singkat untuk wget, keriting Dan Lynx alat, dan kami menemukan bagaimana yang terakhir dapat digunakan untuk mengambil halaman web dalam format tekstual menjatuhkan semua konten html.

Tolong, selalu gunakan pengetahuan yang diperoleh di sini secara bertanggung jawab: tolong jangan berlebihan server web, dan hanya mengambil domain publik, no-copyright, atau cc-0 dll. data/halaman. Juga selalu pastikan untuk memeriksa apakah ada database/dataset data yang Anda minati, yang lebih disukai untuk mengambil halaman web secara individual.

Nikmati pengetahuan baru Anda yang ditemukan, dan, ibu, menantikan kue yang Anda unduh resep menggunakan Lynx --Dump! Jika Anda menyelami salah satu alat lebih lanjut, silakan tinggalkan komentar dengan penemuan Anda.

Tutorial Linux Terkait:

  • Manipulasi data besar untuk kesenangan dan keuntungan bagian 1
  • Manipulasi data besar untuk kesenangan dan keuntungan bagian 3
  • Manipulasi data besar untuk kesenangan dan keuntungan bagian 2
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Unduh file wget di linux
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Unduh File Curl di Linux
  • Hal -hal yang harus diinstal pada Ubuntu 22.04
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?