ตัวดึงเนื้อหา
จากแบบฝึกหัดก่อนหน้า เราพบว่า URL ทุกรายการในเวกเตอร์ที่ได้รับ ต่างส่งคืนสถานะโค้ด 200 ทั้งหมด เมื่อรู้แล้วว่า URL เหล่านี้เข้าถึงได้ ก็ถึงเวลาเจาะลึกลงไปในการดึงข้อมูลจากเว็บ โดยเน้นที่การดึงเนื้อหา
เราจะใช้ฟังก์ชันจากแพ็กเกจ rvest ซึ่งจะถูกกำหนดค่าล่วงหน้าด้วย partial() ฟังก์ชันที่เขียนในแบบฝึกหัดนี้จะดึง HTML node ประเภท H2 ทั้งหมดออกจากหน้าเว็บ ซึ่ง node H2 เหล่านี้คือหัวข้อระดับ 2 บนหน้าเว็บ เมื่อดึงหัวข้อออกมาได้แล้ว จะใช้ฟังก์ชัน html_text() เพื่อแปลงข้อมูล HTML ดิบให้เป็นข้อความ
purrr และ rvest โหลดไว้ให้แล้ว และเวกเตอร์ urls พร้อมใช้งานใน workspace ของคุณ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Functional Programming ระดับกลางด้วย purrr
คำแนะนำการฝึกหัด
เริ่มด้วยการกำหนดค่าล่วงหน้าให้
html_nodes()โดยใช้css = "h2"นำฟังก์ชันที่สร้างขึ้นมาผสานระหว่าง
read_htmlและhtml_textเพื่อสร้างตัวดึงข้อความสำหรับหัวข้อH2รันฟังก์ชันนี้บนเวกเตอร์
urlsแล้วตั้งชื่อผลลัพธ์แสดงผลลัพธ์เพื่อดูว่ามีหน้าตาอย่างไร
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Prefill html_nodes() with the css param set to h2
get_h2 <- ___(html_nodes, ___)
# Combine the html_text, get_h2 and read_html functions
get_content <- ___(___, ___, ___)
# Map get_content to the urls list
res <- ___(urls, ___) %>%
set_names(___)
# Print the results to the console
___