Mengambil halaman web menggunakan wget, curl dan lynx
- 5009
- 501
- Simon Cormier
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
Persyaratan dan konvensi perangkat lunak yang digunakan
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?
- « Manipulasi data besar untuk kesenangan dan keuntungan bagian 2
- Manajemen proses latar belakang bash »