View a markdown version of this page

Perayap Web - Amazon Bedrock

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

Perayap Web

Web Crawler menghubungkan dan merayapi URL yang Anda tentukan untuk digunakan dalam basis pengetahuan terkelola Anda. Web Crawler melintasi halaman HTML mulai dari URL benih Anda, mengikuti tautan anak sesuai dengan cakupan dan batasan crawling Anda. Anda juga dapat memberikan URL sitemap sebagai titik awal. Web Crawler menghormati robots.txt sesuai dengan RFC 9309.

penting

Saat memilih situs web untuk di-crawl, Anda harus mematuhi Kebijakan Penggunaan yang Dapat Diterima Amazon dan semua persyaratan Amazon lainnya. Gunakan Web Crawler hanya untuk mengindeks halaman web Anda sendiri, atau halaman web yang Anda memiliki otorisasi untuk merayapi.

catatan

Web Crawler tidak mendukung kontrol akses tingkat dokumen (ACL). Semua konten yang diindeks dapat diakses oleh setiap pengguna yang memiliki akses ke basis pengetahuan. Jika Anda memerlukan pemfilteran ACL, gunakan konektor yang mendukungnya (misalnya, Amazon S3, SharePoint, atau OneDrive).

Fitur yang didukung

  • Merayapi beberapa URL benih dan URL sitemap

  • Kedalaman perayapan yang dapat dikonfigurasi, batas laju, dan batas tautan per URL

  • Kontrol cakupan crawling: host dan jalur yang sama, hanya host, atau host dan subdomain

  • Filter pola URL (ekspresi reguler inklusi dan pengecualian)

  • Merayapi lampiran yang ditautkan dari halaman web (PDF, dokumen, dan sebagainya)

  • Otentikasi untuk situs yang dilindungi: dasar, berbasis formulir, atau SAML

  • Sinkronisasi konten tambahan untuk konten yang ditambahkan, diperbarui, dan dihapus

Metode autentikasi

Web Crawler mendukung empat metode otentikasi. Pilih metode yang cocok dengan cara situs target mengotentikasi pengguna. Untuk situs publik tanpa login, gunakanNO_AUTH.

Metode otentikasi Web Crawler
Metode Bagaimana itu mengotentikasi Kapan harus digunakan
Tidak ada otentikasi (NO_AUTH) Perayap mengirim permintaan tanpa kredenSIAL. Situs web publik yang tidak memerlukan login.
Otentikasi dasar (BASIC_AUTH) Perayap mengirimkan Authorization: Basic header HTTP dengan nama pengguna dan kata sandi dari rahasia Anda. Situs dilindungi oleh HTTP Basic Authentication (dialog nama pengguna dan kata sandi gaya browser).
Otentikasi formulir (FORM) Perayap masuk dengan mengirimkan formulir HTML. Anda memberikan URL login, kredenSIAL, dan ekspresi XPath yang menemukan bidang formulir. Situs yang menggunakan formulir HTML untuk masuk.
Otentikasi SAML () SAML Perayap masuk melalui formulir login penyedia identitas SAML. Anda memberikan URL login IdP, kredenSIAL, dan ekspresi XPath yang menemukan bidang formulir. Situs yang menggunakan SAML-based single sign-on.

Prasyarat

Untuk situs web yang ingin Anda jelajahi, pastikan Anda:

  • Memiliki izin untuk merayapi situs web dan isinya.

  • Konfir robots.txt masikan bahwa untuk situs tidak melarang URL yang ingin Anda jelajahi. Web Crawler secara default tidak mengizinkan jika robots.txt file tidak ditemukan.

  • Jika situs memerlukan login, identifikasi metode otentikasi (dasar, formulir, atau SAML). Untuk formulir dan SAML, cari ekspresi XPath untuk bidang nama pengguna, bidang kata sandi, dan tombol kirim di halaman login. Untuk menemukan XPath, buka menu konteks (klik kanan) untuk elemen formulir di browser Anda dan pilih Inspect, lalu salin XPath dari alat pengembang.

Di AWS akun Anda, pastikan Anda:

  • Jika situs Anda memerlukan otentikasi, simpan kredensibilitas Anda secara AWS Secrets Manager rahasia dan catat Nama Sumber Daya Amazon (ARN) nya. Untuk pasangan kunci-nilai yang tepat, lihat. Kredensi otentikasi

  • Sertakan izin yang diperlukan untuk terhubung ke sumber data Anda dalam role/permissions kebijakan AWS Identity and Access Management (IAM) untuk basis pengetahuan Anda. Untuk informasi tentang izin yang diperlukan, lihatIzin untuk mengakses sumber data Anda.

Cara mengatur sumber data Web Crawler

Menyiapkan sumber data Web Crawler melibatkan langkah-langkah berikut:

  1. (Jika situs Anda memerlukan login) Siapkan kredensifikasi. Simpan kredenSIAL untuk metode otentikasi Anda secara AWS Secrets Manager rahasia. Lihat Kredensi otentikasi.

  2. Hubungkan sumber data. Buat sumber data Web Crawler di basis pengetahuan menggunakan Konsol Manajemen AWS atau API. Lihat Buat sumber data.

Buat sumber data

Console
Untuk menghubungkan Web Crawler ke basis pengetahuan terkelola
  1. Di bawah Sumber data, berikan nama untuk sumber data Anda.

  2. Pilih Web Crawler dari dropdown sumber data.

  3. Di bawah Sumber, pilih URL Sumber (hingga 10 URL titik awal) atau Peta situs Sumber (maksimal 3 URL peta situs).

  4. Masukkan URL Anda di area teks Tam bah URL, satu per baris.

  5. Di bawah Otentikasi, pilih Tidak ada otentikasi, Otentikasi dasar, Otentikasi formulir, atau otentik asi SAML. Untuk metode apa pun selain Tanpa otentikasi, pilih atau buat AWS Secrets Manager rahasia untuk menyimpan kredenSIAL Anda.

  6. (Opsional) Perluas cakupan Sin kronisasi untuk mengatur kedalaman perayapan (0-10), tautan maksimum per URL (1—1000), URL maksimum yang dirayapi per menit (1—300), dan cakupan perayapan: Def ault (host yang sama dan jalur URL awal yang sama dengan URL awal), Hanya host (host yang sama, jalur apa pun), atau Subdomain (domain utama yang sama, termasuk subdomain).

  7. (Opsional) Perluas pola filter URL untuk menambahkan ekspresi reguler yang menyertakan atau mengecualikan URL tertentu.

API

Untuk membuat sumber data Web Crawler, kirim CreateDataSource permintaan dengan titik akhir waktu pembuatan Agen untuk Amazon Bedrock. AWS Command Line Interface Contoh berikut membuat sumber data yang merayapi situs publik tanpa otentikasi. Untuk deskripsi setiap bidang, lihat referensi parameter konektor berikut.

aws bedrock-agent create-data-source \ --name "WebCrawler-connector" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://webcrawler-managed-connector.json

webcrawler-managed-connector.jsonFile berisi yang berikut ini:

{ "type": "MANAGED_KNOWLEDGE_BASE_CONNECTOR", "managedKnowledgeBaseConnectorConfiguration": { "connectorParameters": { "type": "WEB", "version": "1", "connectionConfiguration": { "seedUrls": [ "https://docs.example.com" ], "authType": "NO_AUTH" }, "crawlConfiguration": { "crawlDepth": 3, "maxLinksPerUrl": 100, "maxCrawledUrlsPerMinute": 50, "syncScope": "SUB_DOMAINS", "crawlAttachments": true }, "filterConfiguration": { "exclusionPatterns": [ "https://docs.example.com/private/.*" ] } } } }

Untuk situs yang diautentikasi, atur authType keBASIC_AUTH,FORM, atauSAML, dan tambahkan secretArn keconnectionConfiguration.

Untuk basis pengetahuan terkelola, CreateDataSource tidak sinkron: transisi status sumber data dari CREATING ke AVAILABLE saat operasi selesai.

Parameter konektor

Konfigurasi sumber data menggunakan parameter konektor berikut. Untuk menggunakan Web Crawler, tentukan WEB sebagai tipe konektor diconnectorParameters. Untuk bidang yang membungkus connectorParameters (seperti deletionProtectionConfiguration danmediaExtractionConfiguration), lihatMenghubungkan sumber data.

KoneksiKonfigurasi
Bidang Diperlukan Deskripsi
seedUrls Bersyarat Daftar URL benih untuk memulai crawling. Maksimum 10. Diperlukan kecuali Anda memberikansiteMapUrls.
siteMapUrls Bersyarat Daftar URL peta situs. Maksimal 3. Diperlukan kecuali Anda memberikanseedUrls.
authType Ya Jenis otentikasi:NO_AUTH,BASIC_AUTH,FORM, atauSAML. Lihat Metode autentikasi.
secretArn Bersyarat ARN AWS Secrets Manager rahasia yang berisi kredensimalmu. Diperlukan authType ketika tidakNO_AUTH.
CrawlConfiguration (opsional)
Bidang Diperlukan Deskripsi
crawlDepth Tidak Kedalaman merangkak maksimum. Rentang 0—10. 0hanya merayapi URL yang ditentukan; nilai yang lebih tinggi mengikuti tautan lebih dalam ke situs. Default ke 2.
maxLinksPerUrl Tidak Tautan maksimum untuk diikuti per URL. Rentang 1—1000. Default ke 100.
maxCrawledUrlsPerMinute Tidak URL maksimum yang dirayapi per menit (batas tarif). Rentang 1—300.
implicitWaitInSeconds Tidak Tunggu waktu, dalam hitungan detik, setelah halaman mencapai status siap sebelum crawler membacanya. Tingkatkan ini untuk halaman dengan JavaScript konten dinamis yang dimuat setelah template utama.
syncScope Tidak Ruang lingkup tautan untuk diikuti. Salah satu dari PATH_SPECIFIC (host yang sama dan jalur URL awal yang sama dengan URL benih), DOMAINS_ONLY (host yang sama dengan URL benih, jalur apa pun), atau SUB_DOMAINS (domain utama yang sama, termasuk subdomain). Saat dihilangkan, crawler hanya merayapi host yang sama dan jalur URL awal yang sama dengan URL benih.
crawlAttachments Tidak Apakah akan merayapi file dan lampiran yang ditautkan dari halaman web (seperti PDF dan dokumen lainnya).
FilterConfiguration (opsional)
Bidang Diperlukan Deskripsi
inclusionPatterns Tidak Daftar ekspresi reguler. Hanya URL yang cocok dengan setidaknya satu pola yang akan dirayapi dan diindeks.
exclusionPatterns Tidak Daftar ekspresi reguler. URL yang cocok dengan pola apa pun tidak akan di-crawl atau diindeks.
maxFileSizeInMegaBytes Tidak Ukuran maksimum, dalam megabyte, dari setiap file yang dicerna oleh crawler. Berikan sebagai string numerik (misalnya,"500"). Default ke "500".

Kredensi otentikasi

Jika situs web Anda memerlukan otentikasi, simpan kredensibilitas Anda secara AWS Secrets Manager rahasia. Format rahasia tergantung pada jenis otentikasi yang Anda pilih.

Otentikasi dasar (BASIC_AUTH)

{ "userName": "your-username", "password": "your-password", "authentication": "BASIC_AUTH" }

Otentikasi formulir (FORM)

Untuk otentikasi berbasis formulir, berikan ekspresi XPath yang mengidentifikasi bidang nama pengguna, bidang kata sandi, dan tombol kirim pada halaman login.

{ "authentication": "FORM", "loginPageUrl": "https://example.com/login", "userName": "your-username", "password": "your-password", "userNameFieldXpath": "//input[@name='username']", "passwordFieldXpath": "//input[@name='password']", "userNameButtonXpath": "//button[@type='submit']", "passwordButtonXpath": "//button[@type='submit']" }

Otentikasi SAML () SAML

Untuk otentikasi SAML, berikan URL halaman login penyedia identitas SAML dan ekspresi XPath untuk bidang formulir.

{ "authentication": "SAML", "loginPageUrl": "https://your-idp.example.com/login", "userName": "your-username", "password": "your-password", "userNameFieldXpath": "//input[@name='username']", "passwordFieldXpath": "//input[@name='password']", "userNameButtonXpath": "//button[@type='submit']", "passwordButtonXpath": "//button[@type='submit']" }
catatan

Untuk menemukan XPath di browser Anda, buka menu konteks (klik kanan) untuk elemen formulir di halaman login dan pilih Per iksa. Di alat pengembang, buka menu konteks (klik kanan) untuk HTML yang disorot, lalu pilih Sal in, lalu pilih Salin XPath.

Perilaku crawling dan konfigurasi sinkronisasi

Web Crawler mengikuti praktik perayapan ini:

  • Model sinkronisasi inkremental: Sinkronisasi pertama melakukan crawling penuh. Sinkronisasi berikutnya hanya menangkap konten yang ditambahkan, diperbarui, dan dihapus.

  • Coba ulang otomatis: Perayap menyertakan logika coba ulang bawaan untuk permintaan yang gagal.

  • Penanganan duplikat: Perayap secara otomatis mendeteksi dan mendeduplikasi URL.

  • Identifikasi crawler: Web Crawler mengidentifikasi dirinya dengan string agen pengguna amazon-bedrock-knowledgebase-on-behalf-of-<hash> di header permintaan. Anda dapat menargetkan agen pengguna ini di robots.txt file Anda untuk mengizinkan atau melarang crawler secara khusus. Untuk informasi selengkapnya, lihat Robots.txt kepatuhan.

Robots.txt kepatuhan

Web Crawler menghormati protokol robots.txt dan menghormati agen pengguna dan mengizinkan atau melarang arahan. Gunakan arahan ini untuk mengontrol bagaimana crawler mengakses situs Anda.

Cara kerja pemeriksaan robots.txt

  • Host-level memeriksa: Web Crawler membaca file robots.txt di tingkat host (misalnya,example.com/robots.txt).

  • Dukungan beberapa host: Untuk domain dengan beberapa host, Web Crawler menghormati aturan robot untuk setiap host secara terpisah.

  • Perilaku fallback: Jika Web Crawler tidak dapat mengambil robots.txt karena pemblokiran, kesalahan penguraian, atau batas waktu, itu berperilaku seolah-olah robots.txt tidak ada. Dalam hal ini, Web Crawler merayapi situs.

Bidang robots.txt yang didukung

Web Crawler mengenali bidang robots.txt berikut. Nama bidang tidak peka huruf besar/kecil; nilai peka huruf besar/kecil.

user-agent

Mengidentifikasi crawler mana yang berlaku aturan.

allow

Jalur URL yang dapat dirayapi oleh Web Crawler.

disallow

Jalur URL yang tidak dapat dirayapi oleh Web Crawler.

crawl-delay

Waktu, dalam hitungan detik, untuk menunggu di antara permintaan ke situs web Anda.

Dukungan tag meta

Web Crawler mendukung tag meta robot tingkat halaman yang dapat Anda gunakan untuk mengontrol bagaimana data Anda digunakan. Anda dapat menentukan pengaturan tingkat halaman dengan menyertakan tag meta pada halaman HTML atau di header HTTP.

Meta tag yang didukung

noindex

Jangan mengindeks halaman. Jika Anda tidak menentukan aturan ini, halaman mungkin diindeks dan memenuhi syarat untuk diambil dari basis pengetahuan Anda.

nofollow

Jangan ikuti tautan di halaman ini. Jika Anda tidak menentukan aturan ini, Web Crawler mungkin menggunakan tautan di halaman untuk menemukan halaman yang ditautkan.

Anda dapat menggabungkan beberapa nilai dengan menggunakan koma (misalnya,noindex, nofollow).

catatan

Untuk mendeteksi tag meta, Web Crawler harus mengakses halaman Anda. Jangan memblokir halamanrobots.txt, karena hal itu mencegah crawler mendesain ulang halaman untuk membaca tag meta.

Pemecahan masalah

Masalah umum, penyebab, dan perbaikan Web Crawler
Gejala Kemungkinan penyebabnya Memperbaiki
Sinkronisasi berhasil diselesaikan tetapi hanya URL benih yang diindeks. Tautan navigasi situs terhubung melalui JavaScript event handler (klik, gulir, menu dinamis) alih-alih <a href="..."> elemen standar. Perayap merender JavaScript tetapi tidak mensimulasikan interaksi pengguna, sehingga tidak dapat menemukan tautan tersebut. Berikan URL benih tambahan untuk halaman yang ingin Anda jelajahi, atau berikan URL peta situs yang mencantumkan setiap URL yang akan dirayapi. Jika konten dapat diekspor sebagai file, pertimbangkan untuk menggunakan konektor Amazon S3 sebagai gantinya.
Sinkronisasi tidak mengembalikan konten atau halaman lebih sedikit dari yang diharapkan. robots.txtFile situs tidak mengizinkan URL yang ingin Anda jelajahi, atau halaman memiliki tag noindex meta. Perbarui robots.txt untuk host sehingga memungkinkan jalur yang ingin Anda jelajahi, atau hapus tag noindex meta dari halaman yang ingin Anda indeks. Jangan memblokir halaman robots.txt jika Anda juga ingin deteksi tag meta, karena crawler harus mengakses halaman untuk membaca tag meta.
Otentikasi gagal (HTTP 401 atau 403, loop pengalihan login, atau batas waktu sesi). KredenSIAL salah atau kedaluwarsa, atau ekspresi XPath tidak cocok dengan elemen halaman login. Verifikasi kredenSIAL dalam rahasia Anda. Untuk FORM atau SAML autentikasi, validasi setiap XPath di alat pengembang browser Anda, dan verifikasi. loginPageUrl
Sinkronisasi gagal dengan pembatasan kecepatan (HTTP 429) atau konten yang tidak lengkap. Perayap mengambil halaman lebih cepat dari yang diizinkan situs. Men maxCrawledUrlsPerMinute urunkan, atau meningkat implicitWaitInSeconds untuk situs dengan konten dinamis yang dimuat setelah halaman siap.
Halaman hilang karena lebih besar dari yang diharapkan. Halaman atau lampiran melebihimaxFileSizeInMegaBytes. TingkatkanmaxFileSizeInMegaBytes, atau terima bahwa file yang lebih besar dari batas tidak dicerna.