CRAWLING WEB LANGUS
1. Cabaran data web dinamik merangkak
Dalam pengikis data web (mengikis web), kita sering menghadapi situasi di mana data tidak tertanam secara langsung dalam struktur HTML, tetapi secara dinamik dihasilkan melalui JavaScript. Pakej tradisional R, seperti XML atau RVEST, bergantung terutamanya pada kandungan HTML statik parsing. Apabila data sasaran diminta oleh JavaScript (AJAX) atau terus tertanam dalam pembolehubah JavaScript, alat -alat ini sering gagal untuk mendapatkan maklumat yang diperlukan secara langsung.
Mengambil contoh merangkak senarai negara dari https://www.fatf-gafi.org/countries/ laman web sebagai percubaan awal untuk menggunakan xml :: htmlParse mungkin tidak dapat memperoleh data negara yang dijangkakan, Dalam kes ini, kita memerlukan penyelesaian yang dapat melaksanakan kod JavaScript dan mengakses pembolehubah dalamannya.
2. Penyelesaian: Jalankan JavaScript dengan pakej V8
Pakej V8 bahasa R menyediakan enjin JavaScript dan webassembly tertanam, yang membolehkan kami melaksanakan kod JavaScript dalam persekitaran R dan berinteraksi dengan persekitaran runtime JavaScript. Ini bermakna kita boleh memuatkan fail JavaScript yang digunakan di laman web, melaksanakan kod di dalamnya, dan kemudian mengeluarkan nilai pembolehubah yang ditakrifkan dalam JavaScript.
Idea Teras:
- Kenal pasti sumber data JavaScript: Semak sumber yang diminta semasa memuatkan laman web, terutamanya fail .js, melalui alat pemaju pelayar (tab rangkaian/rangkaian), dan cari fail JavaScript yang mungkin mengandungi data sasaran.
- Dapatkan Kandungan JavaScript: Gunakan pakej HTTR untuk memuat turun kandungan fail JavaScript.
- Inisialisasi enjin V8: Buat konteks V8.
- Jalankan Kod JavaScript: Laksanakan kandungan JavaScript yang dimuat turun dalam konteks V8.
- Ekstrak Pembolehubah: Dapatkan nilai pembolehubah JavaScript dari konteks V8.
- Pembersihan Data: Melakukan penukaran format yang diperlukan dan pembersihan data yang diekstrak.
3. Kes Praktikal: merangkak data kebangsaan dari laman web FATF
Kami akan menggunakan laman web FATF (Pasukan Petugas Tindakan Kewangan) sebagai contoh untuk menunjukkan cara merangkak senarai negara.
3.1 Kenal pasti sumber data
Dengan melawat https://www.fatf-gafi.org/countries/ dan membuka alat pemaju penyemak imbas, dalam tab "rangkaian" atau "rangkaian", kita dapat melihat bahawa fail JavaScript bernama negara-data-multi-lang.js akan diminta semasa proses pemuatan halaman. Telah terbukti bahawa fail ini mengandungi semua data negara yang kita perlukan, dan wujud dalam pembolehubah array JavaScript yang dipanggil negara.
URL penuh fail JavaScript biasanya: https://www.fatf-gafi.org/media/fatf/fatfv20/js/country-data-multi-lang.js.
3.2 Langkah Pelaksanaan dan Contoh Kod
Pertama, pastikan anda telah memasang pakej R yang diperlukan: HTTR, V8, DPLYR, dan Tidyr.
# Muatkan perpustakaan perpustakaan yang diperlukan (HTTR) # digunakan untuk menghantar Perpustakaan Permintaan HTTP (V8) # digunakan untuk melaksanakan JavaScript Perpustakaan (Dplyr) # Untuk Perpustakaan Operasi Data (Tidyr) # Untuk penyortiran data, terutamanya fungsi Uncest # 1. Tentukan URL Fail Data JavaScript js_url % UNDEST (cols = c (kumpulan)) %> % # memperluaskan lajur 'kumpulan' bersarang pilih (c (1: 2, 4:14, 16)) %> % # pilih lajur tertentu yang mengandungi nama negara, kod dan penapis maklumat organisasi yang berkaitan (! # str (final_country_data) # Lihat struktur data
3.3 Penjelasan kod
- http :: get () dan kandungan () : Digunakan untuk memulakan permintaan HTTP dan dapatkan kandungan respons. Parameter 'teks' memastikan bahawa kandungan itu dihuraikan ke dalam rentetan.
- V8 () : Mewujudkan contoh enjin V8, yang menyediakan persekitaran JavaScript yang berdiri sendiri.
- CT $ EVAL (JS_Content) : Ini adalah langkah teras. Ia akan melaksanakan kod JavaScript yang dimuat turun dari laman web dalam enjin V8. Selepas pelaksanaan, mana -mana pembolehubah global yang ditakrifkan dalam kod JavaScript ini (seperti negara dalam kes ini) boleh diakses dalam R.
- CT $ GET ("Negara") : Ekstrak nilai pembolehubah JavaScript bernama negara dari enjin V8. Pakej V8 secara automatik akan menukarnya ke struktur data yang sepadan dalam R (biasanya senarai atau bingkai data).
- Unsnest (cols = c (kumpulan)) : diperhatikan bahawa dalam bingkai data yang dikembalikan oleh CT $ GET ("Negara") terdapat lajur bernama kumpulan, di dalamnya adalah senarai bersarang atau bingkai data. Fungsi unnest () (dari pakej Tidyr) digunakan untuk mengembangkan struktur bersarang ini ke dalam lajur rata, menjadikan data lebih mudah untuk dianalisis.
- Pilih (C (1: 2, 4:14, 16)) : Selepas operasi yang tidak jelas, bingkai data mungkin mengandungi lajur atau lajur yang berlebihan yang perlu disusun semula. Di sini kami memilih lajur yang anda perlukan mengikut indeks lajur. Dalam aplikasi praktikal, disyorkan untuk mencetak nama (final_country_data) atau gunakan GLIMPSE () untuk melihat semua nama lajur, dan kemudian pilih dengan nama untuk meningkatkan kebolehbacaan dan keteguhan kod.
- penapis (! is.na (nama)) : penapis baris yang lajur namanya adalah Na (nilai yang tidak dijawab). Dalam beberapa sumber data, mungkin terdapat baris kosong diisi pada akhir, yang boleh dibersihkan dengan cara ini.
4. Langkah berjaga -jaga dan ringkasan
- JavaScript Sumber Positioning: Mencari fail JavaScript yang betul adalah kunci. Mahir dalam menggunakan alat pemaju penyemak imbas (terutamanya rangkaian rangkaian/rangkaian dan sumber/sumber) adalah kemahiran yang mesti dimiliki.
- Eksplorasi Struktur Data: Data yang diambil dari V8 boleh menjadi senarai bersarang yang kompleks. Gunakan str (), nama (), sekilas () dan fungsi lain untuk meneroka strukturnya supaya pembersihan data digunakan dengan betul oleh fungsi seperti unnest (), pilih () dan fungsi lain.
- Kerumitan kandungan dinamik: Tidak semua kandungan dinamik boleh diekstrak secara langsung melalui V8. Jika data dimuatkan melalui operasi DOM kompleks, interaksi pengguna atau penyulitan, alat yang lebih maju seperti selenium dan pelayar tanpa kepala mungkin diperlukan untuk simulasi. Tetapi untuk kes di mana data wujud secara langsung dalam pembolehubah JavaScript, V8 adalah pilihan yang ringan dan cekap.
- Dasar Laman Web: Sebelum menjalankan sebarang aktiviti merangkak web, pastikan anda menyemak fail robots.txt laman web dan terma penggunaan untuk memastikan tingkah laku anda mematuhi peraturan laman web.
Melalui kajian artikel ini, anda harus dapat menguasai kaedah asas menggunakan pakej bahasa R V8 untuk mengendalikan data pemuatan dinamik JavaScript. Teknologi ini sangat memperluaskan keupayaan R untuk merangkak data laman web, yang membolehkannya mengatasi struktur web moden yang lebih kompleks.
Atas ialah kandungan terperinci CRAWLING WEB LANGUS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Thenameattributeinaninputtagisusedtoidentifytheinputwhentheformissubmitted;itservesasthekeyinthekey-valuepairsenttotheserver,wheretheuser'sinputisthevalue.1.Whenaformissubmitted,thenameattributebecomesthekeyandtheinputvaluebecomesthevalueinthedatasen

Untuk memulakan dengan HTML dengan cepat, anda hanya perlu menguasai beberapa tag asas untuk membina rangka web. 1. Struktur halaman adalah penting, dan, yang merupakan elemen akar, mengandungi maklumat meta, dan merupakan kawasan paparan kandungan. 2. Gunakan tajuk. Semakin tinggi tahap, semakin kecil nombor. Gunakan tag untuk segmen teks untuk mengelakkan melangkau tahap. 3. Pautan menggunakan tag dan sepadan dengan atribut HREF, dan imej menggunakan tag dan mengandungi atribut SRC dan ALT. 4. Senarai ini dibahagikan kepada senarai yang tidak teratur dan senarai yang diperintahkan. Setiap entri diwakili dan mesti bersarang dalam senarai. 5. Pemula tidak perlu memaksa menghafal semua tag. Lebih cekap untuk menulis dan memeriksa mereka semasa anda menulis. Menguasai struktur, teks, pautan, gambar dan senarai untuk membuat laman web asas.

❌youcannotnesttagsinsideanothertagbecauseit'sinvalidhtml; browsersautomomatikclosethefirstbeforeopeningthenext, drectinginseparateParagraphs.instead, useinlineelements,

Menggunakan tag adalah kaedah yang paling mudah dan disyorkan. Sintaks ini sesuai untuk pelayar moden untuk membenamkan PDF secara langsung; 2. Menggunakan tag boleh memberikan sokongan kandungan kawalan dan sandaran yang lebih baik, sintaks adalah, dan menyediakan pautan muat turun dalam tag sebagai penyelesaian sandaran apabila mereka tidak disokong; 3. Ia boleh tertanam melalui Google Docsviewer, tetapi tidak disyorkan untuk digunakan secara meluas kerana isu privasi dan prestasi; 4. Untuk meningkatkan pengalaman pengguna, ketinggian yang sesuai harus ditetapkan, saiz responsif (seperti ketinggian: 80VH) dan pautan muat turun PDF harus disediakan supaya pengguna dapat memuat turun dan melihatnya sendiri.

Untuk membuat senarai HTML yang tidak teratur, anda perlu menggunakan tag untuk menentukan bekas senarai. Setiap item senarai dibalut dengan tag, dan penyemak imbas secara automatik akan menambah peluru; 1. Buat senarai dengan tag; 2. Setiap item senarai ditakrifkan dengan tag; 3. Penyemak imbas secara automatik menjana simbol titik lalai; 4. Sublists boleh dilaksanakan melalui bersarang; 5. Gunakan atribut jenis gaya CSS untuk mengubah suai gaya simbol, seperti cakera, bulatan, persegi, atau tidak; Gunakan tag ini dengan betul untuk menghasilkan senarai yang tidak teratur standard.

TheContentititableatTributeMakesanyhtmleLementedByDdingContentedied boleh

Untuk menambah ikon ke bar tajuk laman web, anda perlu menghubungkan fail Favicon di bahagian HTML. Langkah -langkah khusus adalah seperti berikut: 1. Sediakan fail ikon 16x16 atau 32x32 piksel. Adalah disyorkan untuk menggunakan favicon.ico untuk menamakannya dan meletakkannya di direktori akar laman web, atau menggunakan format moden seperti PNG dan SVG; 2. Tambah tag pautan ke HTML, seperti format PNG atau SVG, laraskan atribut jenis dengan sewajarnya; 3. Secara pilihan menambah ikon resolusi tinggi untuk peranti mudah alih, seperti Appletouchicon, dan nyatakan saiz yang berbeza melalui atribut saiz; 4. Ikuti amalan terbaik, letakkan ikon dalam direktori root untuk memastikan pengesanan automatik, jelaskan cache penyemak imbas selepas kemas kini, dan periksa ketepatan laluan fail.

Memilih jenis htmlinput yang betul dapat meningkatkan ketepatan data, meningkatkan pengalaman pengguna, dan meningkatkan kebolehgunaan. 1. Pilih jenis input yang sepadan mengikut jenis data, seperti teks, e -mel, tel, nombor dan tarikh, yang secara automatik boleh menyemak dan menyesuaikan diri dengan papan kekunci; 2. Gunakan HTML5 untuk menambah jenis baru seperti URL, Warna, Julat dan Carian, yang dapat memberikan kaedah interaksi yang lebih intuitif; 3. Gunakan pemegang tempat dan sifat -sifat yang diperlukan untuk meningkatkan kecekapan dan ketepatan pengisian bentuk, tetapi harus diperhatikan bahawa pemegang tempat tidak dapat menggantikan label.
