- Selenium :solusi yang sangat lengkap dengan binding dalam banyak bahasa
- dalang :API Chrome tanpa kepala, dapat digunakan di NodeJS atau sebagai alat baris perintah
- HTtrack :alat baris perintah
- Apache Notch &webmagic :perayap web Java sumber terbuka
- pholcus :perayap web "terdistribusi &konkurensi tinggi" yang ditulis dalam Go
- Xvfb server tampilan yang mengimplementasikan protokol server tampilan X11, tanpa menampilkan output layar apa pun. Saya telah berhasil menggunakannya dengan Travis CI dan busur derajat sebagai contoh. Alternatif:XDummy
PhantomJS (pertama kali disarankan oleh nvuono):dapat mengekspor halaman yang dirender sebagai non-HTML (pdf, png...).Pengembangan PhantomJS ditangguhkan hingga pemberitahuan lebih lanjut (detail lebih lanjut). Terkait erat:SlimerJS, CasperJS
Dan ada banyak pustaka pengikisan web Python:
- Mengikis
- laba-laba
- ghost.py
- pecah
Coba phantomjs dari www.phantomjs.org dan Anda dapat dengan mudah memodifikasi rasterize.js yang disertakan untuk mengekspor HTML yang dirender. Ini didasarkan pada webkit dan melakukan evaluasi penuh terhadap javascript situs target Anda, memungkinkan Anda menyesuaikan waktu tunggu atau menjalankan kode Anda sendiri terlebih dahulu jika diinginkan. Saya pribadi menggunakannya untuk menyimpan versi file HTML hardcopy dari template knockout.js yang dirender sepenuhnya.
Itu mengeksekusi javascript jadi saya hanya melakukan sesuatu seperti ini dan menyimpan keluaran konsol ke file:
var markup = page.evaluate(function(){return document.documentElement.innerHTML;});
console.log(markup);
phantom.exit();
Cara memeriksa apakah layanan tertentu berjalan di Ubuntu
Bagaimana cara menjalankan perintah bash dengan hak sudo di Jawa?