Ekstrak node berdasarkan jumlah anaknya
Seperti ditunjukkan dalam video, fungsi XPATH count() dapat digunakan di dalam predikat untuk mempersempit seleksi ke node yang cocok dengan jumlah anak tertentu. Ini sangat membantu jika pengikis Anda bergantung pada beberapa node yang memiliki jumlah anak minimum.
Berikut adalah cuplikan dari sebuah halaman (tanpa kelas atau ID…) yang mungkin Anda scrap:
...
<div>
<h1>Tomorrow</h1>
</div>
<div>
<h2>Berlin</h2>
<p>Temperature: 20°C</p>
<p>Humidity: 50%</p>
</div>
<div>
<h2>London</h2>
<p>Temperature: 15°C</p>
</div>
<div>
<h2>Zurich</h2>
<p>Temperature: 22°C</p>
<p>Humidity: 60%</p>
</div>
...
Anda hanya tertarik pada div yang memiliki tepat satu header h2 dan setidaknya dua paragraf, karena aplikasi Anda tidak dapat menangani prakiraan cuaca yang tidak lengkap.
HTML di atas tersedia untuk Anda melalui forecast_html.
Latihan ini adalah bagian dari kursus
Web Scraping di R
Petunjuk latihan
- Pilih
divyang diinginkan dengan selektor XPATH yang sesuai, dengan memanfaatkan fungsicount().
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Select only divs with one header and at least two paragraphs
forecast_html %>%
html_elements(xpath = '___')