GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mendapatkan teks halaman menggunakan wget tanpa html?

wget hanya akan mengambil dokumen. Jika dokumen dalam bentuk HTML, yang Anda inginkan adalah hasil parsing dokumen tersebut.

Anda dapat, misalnya, menggunakan lynx -dump -nolist , jika Anda memiliki lynx.

lynx adalah peramban web yang ringan dan sederhana, yang memiliki -dump fitur, digunakan untuk mengeluarkan hasil dari proses parsing. -nolist menghindari daftar tautan di bagian akhir, yang akan muncul jika laman tersebut memiliki hyperlink.

Seperti yang disebutkan oleh @Thor, elinks dapat digunakan untuk ini juga, karena juga memiliki -dump opsi (dan memiliki -no-references untuk menghilangkan daftar tautan). Ini mungkin sangat berguna jika Anda menelusuri beberapa situs menggunakan -sigh-frames (MTFBWY).

Selain itu, perlu diingat bahwa, kecuali laman tersebut benar-benar hanya berupa kode C dengan tag HTML, Anda perlu memeriksa hasilnya, hanya untuk memastikan tidak ada yang lebih dari kode C di sana.


Jika Anda tidak menginstal alat lain ini, hanya wget, dan halaman tidak memiliki pemformatan hanya teks biasa dan tautan, mis. kode sumber atau daftar file, Anda dapat menghapus HTML menggunakan sed seperti ini:

wget -qO- http://address/of/page/you/want/to/view/ | sed -e 's/<[^>]*>//g'

Ini menggunakan wget untuk membuang sumber halaman ke STDOUT dan sed untuk menghapus pasangan <> apa pun dan apa pun di antaranya.

Anda kemudian dapat mengarahkan output dari perintah sed ke file yang ingin Anda buat menggunakan> :

wget -qO- http://.../ | sed -e 's/<[^>]*>//g' > downloaded_file.txt

NB:Anda mungkin menemukan bahwa file tersebut memiliki spasi ekstra di file yang tidak Anda inginkan (mis. baris diindentasi di beberapa kolom)

Mungkin paling mudah menggunakan editor teks Anda untuk merapikan file itu (atau pemformat sumber saat Anda mengunduh kode sumber C).

Jika Anda perlu melakukan hal sederhana yang sama untuk setiap baris file, Anda dapat menyertakan perintah untuk melakukannya dalam perintah sed (di sini menghapus satu spasi utama):

wget -qO- http://.../ | sed -e 's/<[^>]*>//g;s/^ //g' > downloaded_stripped_file.txt

hanya untuk menambahkan alat lain. Saya lebih suka w3m , yang merupakan lynx seperti browser konsol. Anda mungkin ingin memeriksa apa yang sudah tersedia di sistem Anda.

w3m -dump website.html

Linux
  1. Cara Menulis Teks Pada Gambar menggunakan Perintah Linux

  2. Bagaimana cara menyalin teks dari xterm saya tanpa mouse?

  3. Cara mendapatkan alamat memori tertentu menggunakan C

  1. Menggunakan sed untuk menghapus blok teks

  2. Bagaimana cara menyisipkan teks di awal file?

  3. sed - cara melakukan grup regex menggunakan sed

  1. Debian – Bagaimana Cara Mem-boot Debian Ke Mode Teks Tanpa Menggunakan Gui?

  2. Bagaimana Cara Menghapus Beberapa Baris Acak Dari File Teks Menggunakan Sed?

  3. Bagaimana cara menambahkan elemen halaman menggunakan InstantSite