Mendapatkan halaman web menggunakan Wget, Curl dan Lynx
- 2724
- 31
- Mr. Ramon Runolfsson
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
Keperluan perisian dan konvensyen yang digunakan
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?
- « Manipulasi data besar untuk keseronokan dan keuntungan bahagian 2
- Pengurusan proses latar belakang bash »