กลับสู่งาน
คุณยังคงทำงานในฐานะนักวิเคราะห์ข้อมูลให้กับเว็บเอเจนซี และได้รับมอบหมายให้ทำ web scraping โดยมีรายการ URL ที่ต้องวิเคราะห์ ซึ่งเป็นงานที่เริ่มต้นไว้แล้วในบทก่อนหน้า
คาดว่างานนี้จะเกิดขึ้นซ้ำอีกแน่นอน เพราะอีกไม่กี่สัปดาห์คงได้รับคำขอแบบเดิมอีกครั้ง จึงตัดสินใจเขียนโค้ดให้สะอาดและเป็นระเบียบตั้งแต่วันนี้ เพื่อให้กลับมาใช้งานได้ง่ายในภายหลัง
เริ่มต้นด้วยการรวมสองฟังก์ชันจาก httr ที่เคยเรียนในบทก่อนหน้า ได้แก่ GET() สำหรับดึงข้อมูลเว็บเพจ และ status_code() สำหรับดึง status code เพื่อสร้างฟังก์ชันสำหรับดึง status code โดยเฉพาะ
เวกเตอร์ urls ยังคงอยู่ใน workspace ของคุณ โดยเก็บเฉพาะ URL ที่เข้าถึงได้เท่านั้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Functional Programming ระดับกลางด้วย purrr
คำแนะนำการฝึกหัด
โหลด
purrrและhttrสร้างฟังก์ชันดึง status code โดย compose
GET()และstatus_code()เข้าด้วยกันทดลองใช้ฟังก์ชันใหม่นี้กับ "https://www.thinkr.fr" และ "https://en.wikipedia.org"
Map ฟังก์ชันนี้กับเวกเตอร์
urlsโดยตรง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Launch purrr and httr
# Compose a status extractor
status_extract <- ___(___, ___)
# Try with "https://thinkr.fr" & "https://en.wikipedia.org"
___("https://thinkr.fr")
___("https://en.wikipedia.org")
# Map it on the urls vector, return a vector of numbers
___(urls, ___)