GNU/Linux >> Belajar Linux >  >> Debian

Cara mengambil tangkapan layar halaman web dari baris perintah

Ada banyak situasi ketika Anda mungkin ingin mengambil screenshot halaman web. Tentu, ada ekstensi browser yang melakukan pekerjaan itu, tetapi jika Anda harus mengambil tangkapan layar dari banyak situs web untuk mengarsipkannya, atau membuatnya sebagai bagian dari proses otomatis, maka Anda memerlukan alat baris perintah. Berikut adalah empat alat yang mengambil tangkapan layar halaman web dari baris perintah.

pageres-cli

Meskipun ini tidak sepopuler beberapa alat lain yang lebih populer, pageres-cli sejauh ini merupakan alat terbaik untuk mengambil tangkapan layar. Berdasarkan PhantomJS, dan ditulis dalam Node.js, ini membuat halaman web yang paling kompleks sekalipun secara akurat.

Untuk menginstal pageres-cli Anda harus terlebih dahulu Menginstal Node.js dan NPM. Kemudian buka jendela terminal dan instal sebagai berikut:

sudo npm install -g pageres-cli

Setelah instalasi, mengambil tangkapan layar adalah permainan anak-anak:

pageres google.com

Ini akan memberi Anda tangkapan layar di direktori kerja Anda saat ini dengan nama google.com-1366x768.png yang, seperti yang Anda lihat, adalah resolusi 1366 × 768 dan format PNG.

Anda dapat menentukan nama file, format, dan resolusi Anda sendiri. Perhatikan perintah berikut:

pageres google.com yahoo.com 1280x800 --format=jpg --filename="Pictures/<%= date %>_<%= url %>"

Ini adalah perintah yang panjang, jadi mari kita uraikan untuk Anda:

  • google.com dan yahoo.com adalah URL yang tangkapan layarnya dibuat.
  • 1280x800 menunjukkan ukuran layar tempat tangkapan layar ditampilkan.
  • --format menentukan format yang akan digunakan. Dalam hal ini kami menggunakan format JPG.
  • --filename Menentukan direktori tempat tangkapan layar disimpan dan format penamaan file. Dalam kasus kami, kami telah menetapkan bahwa Anda harus pergi ke direktori "Gambar" dan nama file harus berupa tanggal diikuti dengan garis bawah (_ ) dan selanjutnya diikuti oleh URL.

Anda bahkan dapat mengatur pengaturan yang berbeda untuk situs web yang berbeda!

pageres [google.com 1280x800] [yahoo.com 800x600]

Pada akhirnya, Anda mungkin menemukan bahwa beberapa situs web menawarkan kepada Anda versi halaman web "Lite" atau "Seluler" saat menggunakan alat ini. Anda dapat dengan mudah mengubah string agen pengguna agar menyerupai browser modern:

pageres echo.opera.com --user-agent='Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0'

Tersedia berbagai pilihan lain; lihat Beranda proyek tersebut.

Rubah api

Firefox 57 dan versi yang lebih baru memiliki mode tangkapan layar baris perintah. Sama seperti pageres-cli, Firefox secara akurat menangkap halaman web, tetapi tidak memiliki banyak fitur. Mode ini tidak menggunakan lingkungan grafis, oleh karena itu sangat cocok untuk digunakan di server.

Untuk mengambil tangkapan layar menggunakan Firefox, lakukan hal berikut:

firefox -screenshot google.png google.com

Ini akan mengambil tangkapan layar satu halaman penuh dari. membuat google.com ke file google.png . Firefox saat ini tidak mendukung pengambilan tangkapan layar dalam format lain. Jika Anda menggunakan ekstensi lain, mis. B. google.jpg , file PNG dengan nama ini akan dibuat.

Untuk mengambil tangkapan layar dengan ukuran terbatas, gunakan --window-size Parameter. Misalnya, jika Anda ingin mengambil tangkapan layar berukuran 1366 × 768, lakukan hal berikut:



firefox -screenshot google.png google.com --window-size=1366,768

Add-on yang dipasang di Firefox juga mempengaruhi output; yang cukup berguna dalam banyak kasus. Misalnya, jika Anda memasang ekstensi pemblokiran iklan, itu juga akan menghapus iklan di tangkapan layar.

Cutycapt

Meskipun pageres-cli dan Firefox bagus, mereka tidak cocok untuk semua orang. Untungnya, ada alat lain seperti Cutycapt. Ia menggunakan pustaka QtWebkit untuk merender halaman web.

Anda dapat menginstalnya dengan Ubuntu dan Debian sudo apt install cutycapt; pada sistem lain Anda dapat mengompilasinya dari sumber seperti yang dijelaskan di halaman beranda mereka.

Anda dapat mengambil tangkapan layar dengan cutycapt seperti ini:

cutycapt --url=google.com --out=google.png

cutycapt akan mencoba mengenali format file output dari nama file. Format yang didukung termasuk JPG, GIF, SVG, dan PNG.

Secara default, Cutycapt menghasilkan tangkapan layar dengan lebar 800 × 600. Anda dapat mengontrol tinggi dan lebar tangkapan layar sebagai berikut:

cutycapt --url=google.com --out=google.png --min-width=1366 --min-height=768

Ini akan memberi Anda tangkapan layar dengan resolusi 1366 × 768.

Lihat halaman manual dengan mengetik man cutycapt di terminal untuk menampilkan daftar opsi.

Jika Anda memiliki masalah dengan situs web yang menawarkan versi “Lite” atau “Seluler”, berikan string agen pengguna yang mirip dengan browser modern:

cutycapt --url=... --out=... --user-agent='Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0'

Namun, jika Anda mencoba menjalankan cutycapt pada mesin tanpa server X yang berjalan (seperti kebanyakan server), itu akan gagal. Anda harus menggunakan xvfb untuk menjalankannya:

xvfb-run --server-args="-screen 0, 1024x768x24" cutycapt --url=... --out=...

Pada perintah di atas, --server-args Parameter hanya membuat buffer layar virtual berukuran 1024 × 768 dengan kedalaman warna 24 bit. Itu tidak memengaruhi tangkapan layar.

wkhtmlkegambar

wkhtmltoimage, yang disertakan sebagai bagian dari wkhtmltopdf, adalah alat lain untuk menghasilkan tangkapan layar. Berbagai fungsinya diarahkan untuk menghasilkan tangkapan layar yang cepat dan otomatis; meskipun tidak baik jika Anda menginginkan detail.

Itu harus tersedia di repositori distribusi Anda. Di bawah Debian / Ubuntu Anda mendapatkannya dengan sudo apt install wkhtmltopdf . Jika tidak tersedia di distribusi Anda, Anda selalu dapat menggunakan binari yang telah dikompilasi sebelumnya atau mengompilasinya dari sumber.

Namun, satu kata peringatan, jika Anda ingin menjalankan wkhtmltoimage di lingkungan tanpa server X, Anda harus mendapatkan biner yang telah dikompilasi – biner yang ada di repositori standar sering kali tidak mendukung berjalan tanpanya.

Untuk menginstal binari yang telah dikompilasi, unduh arsip terbaru untuk sistem Anda dan lakukan hal berikut:



sudo tar -xf wkhtmltox-*.tar.xz -C /opt
sudo mkdir -p /usr/local/lib /usr/local/share/man/man1
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/local/lib
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/local/lib
sudo ln -s /opt/wkhtmltox/share/man/man1/wkhtmltoimage.1.gz /usr/local/share/man/man1
sudo ln -s /opt/wkhtmltox/share/man/man1/wkhtmltopdf.1.gz /usr/local/share/man/man1

Anda dapat mengambil tangkapan layar halaman web dengan melakukan:

wkhtmltoimage google.com google.jpg

Pembuatan tangkapan layar JPG dan PNG didukung. Namun, ukuran file JPG yang dihasilkan sangat besar

Anda dapat mengatur lebar dan tinggi khusus dengan menentukan:

wkhtmltoimage --height 1200 --width 800 google.com google.png

Dalam kasus tertentu, tangkapan layar mungkin lebih lebar dari yang ditunjukkan. Anda dapat memperbaikinya dengan menambahkan --disable-smart-width Bendera.

Sayangnya, tidak ada cara yang dapat diandalkan untuk mengubah string agen pengguna. Secara khusus, Anda dapat menggunakan User-Agent Header HTTP, tetapi Anda tidak dapat mengubahnya navigator.userAgent Nilai melalui JavaScript (JS). Karena itu, menempa header HTTP adalah semua yang Anda butuhkan untuk banyak kasus penggunaan. Anda dapat melakukannya dengan:

wkhtmltoimage --custom-header-propagation --custom-header User-Agent 'Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0' google.com google.jpg

--custom-header-propagation Switch memastikan bahwa User-Agent custom kustom Header HTTP untuk mendapatkan semua sumber daya seperti gambar, file JS, dan konten bingkai sebaris.

Terkadang saat mengambil tangkapan layar otomatis, Anda mungkin ingin melihat seperti apa halaman tersebut tanpa JS. Anda dapat melakukannya dengan menggunakan --disable-javascript Penghitung:

wkhtmltoimage --disable-javascript google.com google.jpg

Jika Anda memiliki banyak tangkapan layar untuk diambil, Anda mungkin ingin mempercepatnya dengan mengurangi waktu yang diperlukan untuk menjalankan JS. Waktu default adalah 200 milidetik (md), tetapi Anda dapat mengurangi atau menambahnya. Misalnya, jika Anda ingin mengizinkan 45 md untuk menjalankan JS, gunakan:

wkhtmltoimage --javascript-delay 45 google.com google.jpg

Untuk melihat berbagai opsi yang tersedia, jalankan wkhtmltoimage --extended-help .

ijazah

Dalam artikel ini, kita telah melihat cara mengambil tangkapan layar halaman web menggunakan berbagai alat – beberapa ditujukan untuk akurasi dan lainnya untuk kecepatan.


Debian
  1. Menggunakan Google Drive dari Baris Perintah Linux

  2. Bagaimana Cara Memulai Ulang Icewm Dari Baris Perintah?

  3. Bagaimana Cara Membisukan Dari Baris Perintah?

  1. Cara menginstal perangkat lunak dari baris perintah Linux

  2. Bagaimana cara Memperbarui catatan A dari Antarmuka Baris Perintah di Linux?

  3. Cara menginstal pembaruan keamanan dari baris perintah di Ubuntu

  1. Cara memeriksa versi Ubuntu dari baris perintah

  2. Cara mengambil tangkapan layar halaman web dari baris perintah

  3. Bagaimana cara mengunduh file dari baris perintah menggunakan perintah wget?