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 tunggal 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.

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.