داده های وب در زبان برنامه نویسی آر
وب سایت های بسیاری هستند که داده هایی را برای مصرف کاربران شان فراهم می نند. برای مثال؛ سازمان سلامت جهانی (WHO) گزارش هایی در مورد اطلاعات سلامت و پزشکی را به شکل فایل های CSV، txt و XML ارائه می دهد. با استفاده از برنامه های R می توانیم داده های خاصی را از این نوع وب سایت ها با کمک برنامه نویسی استخراج کنیم. برخی بسته ها در R هستند که برای استخراج داده ها از وب استفاده می شوند؛ از جمله آنها می توان به “RCurl”، “XML” و “stringer” اشاره کرد. آنها برای اتصال به URL، مشخص کردن لینک های مورد نیاز برای فایل ها و دانلود آنها به محیط محلی استفاده می شوند.
نصب بسته های آر
بسته های زیر برای پردازش URL و لینک هایی به فایل مقصد مورد نیاز هستند. اگر این بسته هادر محیط آر شما در دسترس نباشد؛ شما می توانید آنها را با استفاده از فرمان های زیر نصب بکنید:
install.packages(“RCurl”)
install.packages(“XML”)
install.packages(“stringr”)
install.packages(“plyr”)
داده های ورودی
ما داده های هواشناسی URL را مشاهده خواهیم کرد و فایل های CSV را با استفاده از R برای سال ۲۰۱۵ دانلود می کنیم.
مثال
ما از تابع ()getHTMLLinks استفاده خواهیم کرد تا URLهای فایل ها را جمع آوری کنیم. سپس ما از تابع ()download.file برای ذخیره سازی فایل ها در سیستم محلی استفاده می کنیم. از آنجایی که می خواهیم یک کد مشابه را دوباره و دوباره برای چندین فایل اعمال کنیم؛ یک تابع ایجاد خواهیم کرد تا چندین بار فراخوانی شود. نام فایل ها به شکل پارامترهایی به فرم شیء لیست آر به این تابع منتقل می شوند.
# Read the URL.
url <- “http://www.geos.ed.ac.uk/~weather/jcmb_ws/”
# Gather the html links present in the webpage.
links <- getHTMLLinks(url)
پایگاه داده SQL Server رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی بلافاصله ... دانلود:
# Identify only the links which point to the JCMB 2015 files.
filenames <- links[str_detect(links, “JCMB_2015”)]
# Store the file names as a list.
filenames_list <- as.list(filenames)
# Create a function to download the files by passing the URL and filename list.
downloadcsv <- function (mainurl,filename) {
filedetails <- str_c(mainurl,filename)
download.file(filedetails,filename)
}
# Now apply the l_ply function and save the files into the current R working directory.
l_ply(filenames,downloadcsv,mainurl = “http://www.geos.ed.ac.uk/~weather/jcmb_ws/”)
تأیید دانلود فایل
بعد از اجرای کد بالا، شما می توانید فایل های زیر را در دایرکتوری در حال کار فعلی؛ قرار بدهید.
“JCMB_2015.csv” “JCMB_2015_Apr.csv” “JCMB_2015_Feb.csv” “JCMB_2015_Jan.csv”
“JCMB_2015_Mar.csv”