Praktik terbaik untuk perayap web etis - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Praktik terbaik untuk perayap web etis

Bagian ini membahas praktik terbaik dan pertimbangan etis utama untuk membangun aplikasi perayapan web yang mengumpulkan data lingkungan, sosial, dan tata kelola (ESG). Dengan mengikuti praktik terbaik ini, Anda dapat melindungi proyek dan organisasi Anda dan berkontribusi pada ekosistem web yang lebih bertanggung jawab dan berkelanjutan. Pendekatan ini membantu Anda mengakses data berharga dan menggunakannya untuk penelitian, bisnis, dan inovasi dengan cara yang menghormati semua pemangku kepentingan.

Kepatuhan Robots.txt

File robots.txt digunakan di situs web untuk berkomunikasi dengan perayap web dan bot tentang bagian mana dari situs web yang harus atau tidak boleh diakses atau dirayapi. Saat perayap web menemukan file robots.txt di situs web, perayap web mem-parsing instruksi dan menyesuaikan perilaku perayapannya. Ini mencegah crawler melanggar instruksi pemilik situs web dan menjaga hubungan kerja sama antara situs web dan crawler. Oleh karena itu, file robots.txt membantu dengan kontrol akses, perlindungan konten sensitif, manajemen beban, dan kepatuhan hukum.

Sebaiknya Anda untuk mematuhi praktik terbaik berikut:

  • Selalu periksa dan hormati aturan dalam file robots.txt.

  • Sebelum merayapi URL apa pun, periksa aturan untuk agen pengguna desktop dan seluler.

  • Jika situs web hanya mengizinkan agen pengguna seluler, gunakan header agen yang berbeda, seperti header agen seluler, untuk permintaan Anda.

Tidak adanya file robots.txt tidak selalu berarti Anda tidak dapat atau tidak boleh merayapi situs web. Crawling harus selalu dilakukan secara bertanggung jawab, menghormati sumber daya situs web dan hak implisit pemilik. Berikut ini adalah praktik terbaik yang direkomendasikan ketika robots.txt tidak ada:

  • Asumsikan crawling diperbolehkan, tetapi lanjutkan dengan hati-hati.

  • Menerapkan praktik perayapan yang sopan.

  • Pertimbangkan untuk menghubungi pemilik situs web untuk mendapatkan izin jika Anda berencana melakukan crawling ekstensif.

Pembatasan laju perayapan

Gunakan kecepatan perayapan yang wajar untuk menghindari kewalahan server. Menerapkan penundaan antar permintaan, baik seperti yang ditentukan oleh file robots.txt atau dengan menggunakan penundaan acak. Untuk situs web berukuran kecil atau menengah, 1 permintaan setiap 10-15 detik mungkin sesuai. Untuk situs web yang lebih besar atau yang memiliki izin perayapan eksplisit, 1-2 permintaan per detik mungkin sesuai.

Transparansi agen pengguna

Identifikasi crawler Anda di header user-agent. Informasi header HTTP ini dimaksudkan untuk mengidentifikasi perangkat yang meminta konten. Umumnya, kata bot termasuk dalam nama agen. Crawler dan bot lainnya terkadang menggunakan bidang penting di header untuk menyertakan informasi kontak.

Perayapan yang efisien

Gunakan peta situs, yang dikembangkan oleh pemilik situs web, untuk fokus pada halaman penting.

Pendekatan adaptif

Program crawler untuk beralih ke agen pengguna seluler jika versi desktop tidak berhasil. Ini dapat memberikan akses crawler dan mengurangi ketegangan pada server situs web.

Penanganan kesalahan

Pastikan crawler menangani berbagai kode status HTTP dengan tepat. Misalnya, crawler harus berhenti sejenak jika menemukan kode status 429 (“Terlalu banyak permintaan”). Jika crawler terus menerima 403 kode status (“Terlarang”), maka pertimbangkan untuk menghentikan crawling.

Merangkak dalam batch

Sebaiknya Anda melakukan tindakan berikut:

  • Alih-alih merangkak URLs sekaligus, bagilah tugas menjadi batch yang lebih kecil. Ini dapat membantu mendistribusikan beban dan mengurangi risiko menghadapi masalah, seperti batas waktu atau kendala sumber daya.

  • Jika keseluruhan tugas perayapan diharapkan berjalan lama, pertimbangkan untuk membaginya menjadi beberapa tugas yang lebih kecil dan lebih mudah dikelola. Ini dapat membuat proses lebih terukur dan tangguh.

  • Jika jumlah crawl relatif kecil, pertimbangkan URLs untuk menggunakan solusi tanpa server, seperti. AWS Lambda Fungsi Lambda dapat cocok untuk tugas yang berumur pendek dan digerakkan oleh peristiwa karena mereka secara otomatis menskalakan dan menangani manajemen sumber daya.

Keamanan

Untuk tugas komputasi perayapan web, sebaiknya Anda mengonfigurasi lingkungan agar hanya mengizinkan lalu lintas keluar. Ini membantu meningkatkan keamanan dengan meminimalkan permukaan serangan dan mengurangi risiko akses masuk yang tidak sah. Mengizinkan hanya koneksi keluar memungkinkan proses perayapan untuk berkomunikasi dengan situs web target dan mengambil data yang diperlukan, dan membatasi lalu lintas masuk yang berpotensi membahayakan sistem.

Pertimbangan lainnya

Tinjau pertimbangan tambahan dan praktik terbaik berikut:

  • Periksa pedoman perayapan dalam persyaratan layanan atau kebijakan privasi situs web.

  • Cari meta tag dalam HTML yang mungkin menyediakan arahan crawling.

  • Waspadai pembatasan hukum di yurisdiksi Anda terkait pengumpulan dan penggunaan data.

  • Bersiaplah untuk berhenti merangkak jika diminta oleh pemilik situs web.