Halaman web target
Untuk tutorial ini, kita akan melihat situs web Layanan Cuaca Nasional. Katakanlah kita tertarik untuk membuat aplikasi cuaca kita sendiri. Kami membutuhkan data cuaca itu sendiri untuk mengisinya.
Data cuaca diperbarui setiap hari, jadi kami akan menggunakan pengikisan web untuk mendapatkan data ini dari situs web NWS kapan pun kami membutuhkannya.
Untuk tujuan kami, kami akan mengambil data dari Los Angeles / USC Campus Downtown (KCQT), tetapi setiap halaman web kota terlihat sama, jadi langkah yang sama dapat digunakan untuk kota lain mana pun. Tangkapan layar dari halaman Los Angeles / USC Campus Downtown (KCQT) ditampilkan di bawah ini:
library(rvest)
Pada tutorial ini kita akan mengambil data dari web sederhana berikut ini : Web Halaman Target
Kita secara khusus tertarik pada prediksi cuaca dan suhu setiap hari. Setiap hari memiliki ramalan cuaca hari dan malam hari. Sekarang setelah kami mengidentifikasi bagian dari laman web yang kami butuhkan, kami dapat menggali HTML untuk melihat tag atau kelas apa yang perlu kami pilih untuk menangkap data khusus ini.
Menggunakan firefox webdeveloper atau google chrome
Untungnya, sebagian besar browser modern memiliki alat yang memungkinkan pengguna memeriksa langsung HTML dan CSS halaman web mana pun. Di Firefox, keduanya disebut sebagai Alat Pengembang, dan memiliki nama yang mirip di peramban lain. Alat khusus yang paling berguna bagi kita untuk tutorial ini adalah Inspektur.
Kita dapat menemukan Alat Pengembang dengan melihat di pojok kanan atas browser Anda. Anda seharusnya dapat melihat Alat Pengembang jika kita menggunakan Firefox sehingga kita dapat melalui Tampilan -> Alat Lainnya -> Alat Pengembang. Ini akan membuka Alat Pengembang tepat di jendela browser Anda:
Alat Pengembang di Firefox atau google chrome
HTML yang kita kelola sebelumnya sangat sederhana, tetapi sebagian besar laman web yang akan telah kita lihat di atas adalah browser sangat rumit. Alat Pengembang akan memudahkan kita untuk memilih elemen yang tepat dari halaman web yang ingin kita kikis dan memeriksa HTML.
Kami perlu melihat di mana suhu dalam HTML halaman cuaca, jadi kami akan menggunakan alat Inspeksi untuk melihat elemen ini. Alat Inspeksi akan memilih HTML persis yang kita cari, jadi kita tidak perlu melihat sendiri!
Dengan mengklik elemen itu sendiri, kita dapat melihat bahwa perkiraan tujuh hari terdapat dalam HTML berikut. Kami telah memadatkan beberapa di antaranya agar lebih mudah dibaca:
HTML yang kami tangani sebelumnya sangat sederhana, tetapi sebagian besar laman web yang akan Anda lihat di browser Anda sangat rumit. Alat Pengembang akan memudahkan kita untuk memilih elemen yang tepat dari halaman web yang ingin kita kikis dan memeriksa HTML.
Kami perlu melihat di mana suhu dalam HTML halaman cuaca, jadi kami akan menggunakan alat Inspeksi untuk melihat elemen ini. Alat Inspeksi akan memilih HTML yang kita cari, jadi kita tidak perlu melihat sendiri!
Sekarang setelah kami mengidentifikasi HTML dan CSS tertentu yang perlu kami targetkan di laman web, kami dapat menggunakan rvest untuk menangkapnya.
Dari HTML di atas, kita memiliki semua tag ini, kita dapat mengekstrak teks darinya. Caranya variabel foracasts di isi dengan html seperti command line dibawah ini :
forecasts <- read_html("https://forecast.weather.gov/MapClick.php?lat=34.0536&lon=-118.2455#.YGyb3-gzbIU")
forecasts
## {html_document}
## <html class="no-js">
## [1] <head>\n<meta http-equiv="Content-Type" content="text/html; charset=UTF-8 ...
## [2] <body>\n <main class="container"><header class="row clearfix" id=" ...
forcas <- forecasts %>%
html_nodes(".temp") %>%
html_text()
forcas
## [1] "High: 76 °F" "Low: 55 °F" "High: 78 °F" "Low: 57 °F" "High: 78 °F"
## [6] "Low: 53 °F" "High: 75 °F" "Low: 54 °F" "High: 77 °F"
Dengan kode ini, prakiraan sekarang menjadi vektor string yang sesuai dengan suhu rendah dan tinggi.
Sekarang setelah kami memiliki data aktual yang kami minati dalam variabel R, kami hanya perlu melakukan beberapa analisis data reguler untuk memasukkan vektor ke dalam format yang kami butuhkan. Sebagai contoh:
library(readr)
##
## Attaching package: 'readr'
## The following object is masked from 'package:rvest':
##
## guess_encoding
parse_number(forcas)
## [1] 76 55 78 57 78 53 75 54 77
Hasil didapat bahwa kota Los Angeles / USC Campus Downtown (KCQT) terdapat data suhu seperti diatas.
Daftar Pustaka :