R - ข้อมูลเว็บ

เว็บไซต์จำนวนมากให้ข้อมูลสำหรับการบริโภคโดยผู้ใช้ ตัวอย่างเช่นองค์การอนามัยโลก (WHO) จัดทำรายงานเกี่ยวกับสุขภาพและข้อมูลทางการแพทย์ในรูปแบบไฟล์ CSV, txt และ XML การใช้โปรแกรม R เราสามารถดึงข้อมูลเฉพาะจากเว็บไซต์ดังกล่าวโดยใช้โปรแกรม แพ็กเกจบางอย่างใน R ซึ่งใช้ในการคัดลอกข้อมูลจากเว็บ ได้แก่ - "RCurl", XML "และ" stringr "ใช้เพื่อเชื่อมต่อกับ URL ระบุลิงก์ที่จำเป็นสำหรับไฟล์และดาวน์โหลดไปยังสภาพแวดล้อมภายในเครื่อง

ติดตั้งแพ็คเกจ R

แพ็กเกจต่อไปนี้จำเป็นสำหรับการประมวลผล URL และลิงก์ไปยังไฟล์ หากไม่มีใน R Environment ของคุณคุณสามารถติดตั้งได้โดยใช้คำสั่งต่อไปนี้

install.packages("RCurl")
install.packages("XML")
install.packages("stringr")
install.packages("plyr")

ป้อนข้อมูล

เราจะไปที่ข้อมูลสภาพอากาศของ URL และดาวน์โหลดไฟล์ CSV โดยใช้ R สำหรับปี 2015

ตัวอย่าง

เราจะใช้ฟังก์ชัน getHTMLLinks()เพื่อรวบรวม URL ของไฟล์ จากนั้นเราจะใช้ฟังก์ชันdownload.file()เพื่อบันทึกไฟล์ลงในระบบโลคัล เนื่องจากเราจะใช้รหัสเดิมซ้ำแล้วซ้ำอีกสำหรับไฟล์หลายไฟล์เราจะสร้างฟังก์ชันที่จะเรียกหลาย ๆ ครั้ง ชื่อไฟล์จะถูกส่งผ่านเป็นพารามิเตอร์ในรูปแบบของวัตถุรายการ R ไปยังฟังก์ชันนี้

# Read the URL.
url <- "http://www.geos.ed.ac.uk/~weather/jcmb_ws/"

# Gather the html links present in the webpage.
links <- getHTMLLinks(url)

# 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/")

ตรวจสอบการดาวน์โหลดไฟล์

หลังจากรันโค้ดด้านบนคุณสามารถค้นหาไฟล์ต่อไปนี้ในไดเร็กทอรีการทำงาน R ปัจจุบัน

"JCMB_2015.csv" "JCMB_2015_Apr.csv" "JCMB_2015_Feb.csv" "JCMB_2015_Jan.csv"
   "JCMB_2015_Mar.csv"