เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

สร้างฟังก์ชัน

คุณกำลังพัฒนาเครื่องมือสำหรับการทำ web scraping ให้มีประสิทธิภาพสูงสุดในงานด้าน data analyst ของ web agency

ในแบบฝึกหัดนี้ จะปรับปรุงฟังก์ชัน extractor จากแบบฝึกหัดก่อนหน้าให้เข้มงวดยิ่งขึ้น โดยหาก status code ที่ได้รับไม่อยู่ในช่วง 200 ถึง 203 ฟังก์ชันจะคืนค่าที่หายไป (NA) แต่ถ้าอยู่ในช่วงดังกล่าว ฟังก์ชันจะคืนค่า status code นั้น

โหลด purrr และ httr ไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Functional Programming ระดับกลางด้วย purrr

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ Negate กับ operator %in% ซึ่งใช้ตรวจสอบว่าค่าทางซ้ายอยู่ในค่าทางขวาหรือไม่

  • ประกอบฟังก์ชัน extract_status() โดยรวม GET() และ status_code() เข้าด้วยกัน

  • เติมโค้ดในฟังก์ชันที่กำหนดให้ครบ โดยดึง status code ของ url แล้วกำหนดให้กับตัวแปร code จากนั้นหาก code ไม่อยู่ในช่วง 200:203 ให้คืนค่าที่หายไป มิฉะนั้นให้คืนค่า status code นั้น

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Negate the %in% function 
`%not_in%` <- ___(`%in%`)

# Compose a status extractor 
extract_status <- ___(___, ___)

# Complete the function definition
strict_code <- function(url) {
  # Extract the status of the URL
  code <- ___(___)
  # If code is not in the acceptable range ...
  if (code ___ 200:203) {
    # then return NA
    return(___)
  }
  code
}
แก้ไขและรันโค้ด