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 terhubung ke dan meng-crawl URL yang Anda tentukan untuk digunakan dalam basis pengetahuan terkelola Anda. Web Crawler melintasi halaman HTML mulai dari URL seed Anda, mengikuti tautan turunan sesuai dengan cakupan dan batasan crawl Anda. Anda juga dapat memberikan URL peta situs sebagai titik awal. Web Crawler menghormati robots.txt sesuai dengan RFC 9309.

penting

Saat memilih situs web untuk dirayapi, 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 memiliki otorisasi untuk dirayapi.

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 peta situs

  • Kedalaman crawl yang dapat dikonfigurasi, batas laju, dan batas link-per-URL

  • Kontrol cakupan perayapan: 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 SALL

  • Konten tambahan disinkronkan untuk konten yang ditambahkan, diperbarui, dan dihapus

Metode autentikasi

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

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

Prasyarat

Untuk situs web yang ingin Anda jelajahi, pastikan Anda:

  • Memiliki izin untuk merayapi situs web dan kontennya.

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

  • Jika situs memerlukan login, identifikasi metode otentikasi (dasar, formulir, atau SAMP). Untuk formulir dan SAMP, cari ekspresi XPath untuk bidang nama pengguna, bidang kata sandi, dan tombol kirim pada halaman login. Untuk menemukan XPath, klik kanan 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 kredensyal Anda secara AWS Secrets Manager rahasia dan catat Nama Sumber Daya Amazon (ARN). Untuk pasangan kunci-nilai yang tepat, lihat. Kredensyal 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 kredensyal. Simpan kredensyal untuk metode otentikasi Anda secara rahasia. AWS Secrets Manager Lihat Kredensyal otentikasi.

  2. Connect 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 (hingga 3 URL peta situs).

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

  5. Di bawah Otentikasi, pilih Tidak ada otentikasi, otentikasi dasar, otentikasi formulir, atau otentikasi SAM. Untuk metode apa pun selain Tidak ada otentikasi, pilih atau buat AWS Secrets Manager rahasia untuk menyimpan kredensyal Anda.

  6. (Opsional) Perluas cakupan Sinkronisasi untuk mengatur kedalaman perayapan (0—10), tautan maksimum per URL (1—1000), URL maksimum yang dirayapi per menit (1—300), dan cakupan crawl: Default (host yang sama dan jalur URL awal yang sama dengan URL benih), Host saja (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 CreateDataSourcepermintaan dengan titik akhir waktu pembuatan Agen untuk Amazon Bedrock. AWS Command Line Interface Contoh berikut membuat sumber data yang merayapi situs publik tanpa autentikasi. 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 tersebut berisi yang berikut:

{ "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 ke BASIC_AUTHFORM,, atauSAML, dan tambahkan secretArn keconnectionConfiguration.

Untuk basis pengetahuan terkelola, CreateDataSource asinkron: 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 jenis konektor. connectorParameters Untuk bidang yang membungkus connectorParameters (seperti deletionProtectionConfiguration danmediaExtractionConfiguration), lihatConnect sumber data.

ConnectionConfiguration
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_AUTHFORM, atauSAML. Lihat Metode autentikasi.
secretArn Bersyarat ARN AWS Secrets Manager rahasia yang berisi kredensialmu. Diperlukan authType saat tidakNO_AUTH.
CrawlConfiguration (opsional)
Bidang Diperlukan Deskripsi
crawlDepth Tidak Kedalaman perayapan 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 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 dirayapi dan diindeks.
exclusionPatterns Tidak Daftar ekspresi reguler. URL yang cocok dengan pola apa pun tidak dirayapi atau diindeks.
maxFileSizeInMegaBytes Tidak Ukuran maksimum, dalam megabyte, dari setiap file tunggal yang dicerna crawler. Berikan sebagai string numerik (misalnya,"500"). Default ke "500".

Kredensyal otentikasi

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

Otentikasi dasar () BASIC_AUTH

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

Formulir otentikasi () 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 SALL () SAML

Untuk otentikasi SAMP, berikan URL halaman login penyedia identitas SAMP 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, klik kanan elemen formulir pada halaman login dan pilih Inspect. Di alat pengembang, klik kanan HTML yang disorot, pilih Salin, lalu pilih Salin XPath.

Pemecahan masalah

Masalah, penyebab, dan perbaikan Web Crawler yang umum
Gejala Kemungkinan penyebabnya Perbaiki
Sinkronisasi berhasil diselesaikan tetapi hanya URL benih yang diindeks. Tautan navigasi situs dihubungkan melalui JavaScript event handler (klik, gulir, menu dinamis) alih-alih elemen standar. <a href="..."> Crawler merender JavaScript tetapi tidak mensimulasikan interaksi pengguna, sehingga tidak dapat menemukan tautan tersebut. Berikan URL benih tambahan untuk halaman yang ingin dirayapi, atau berikan URL peta situs yang mencantumkan setiap URL yang akan di-crawl. 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 melarang URL yang ingin dirayapi, atau halaman memiliki tag metanoindex. Perbarui robots.txt untuk host sehingga memungkinkan jalur yang ingin dirayapi, atau hapus tag noindex meta dari halaman yang ingin diindeks. Jangan memblokir halaman robots.txt jika Anda juga ingin deteksi meta tag, karena crawler harus mengakses halaman untuk membaca meta tag.
Otentikasi gagal (HTTP 401 atau 403, loop pengalihan login, atau batas waktu sesi). Kredensyal salah atau kedaluwarsa, atau ekspresi XPath tidak cocok dengan elemen halaman login. Verifikasi kredensyal dalam rahasia Anda. Untuk FORM atau SAML autentikasi, validasi setiap XPath di alat pengembang browser Anda, dan verifikasi. loginPageUrl
Sinkronisasi gagal dengan pembatasan laju (HTTP 429) atau konten yang tidak lengkap. Crawler mengambil halaman lebih cepat dari yang diizinkan situs. TurunkanmaxCrawledUrlsPerMinute, atau tingkatkan implicitWaitInSeconds untuk situs dengan konten dinamis yang dimuat setelah halaman menjadi siap.
Halaman hilang karena lebih besar dari yang diharapkan. Halaman atau lampiran melebihimaxFileSizeInMegaBytes. TingkatkanmaxFileSizeInMegaBytes, atau terima bahwa file yang lebih besar dari batas tidak tertelan.