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

การใช้ Selector กับ Response

สิ่งที่ควรทำความเข้าใจ ณ จุดนี้เกี่ยวกับความสัมพันธ์ระหว่าง Selector และ Response คือ ทั้งคู่ คืนค่าเป็น SelectorList เมื่อใช้เมธอด xpath หรือ css เพื่อระบุ element ในแบบฝึกหัดนี้ เราจะพิสูจน์สิ่งนี้ โดยให้ค้นหา element hyperlink ทั้งหมดที่อยู่ใน class course-block__link (สังเกต double underscore!) แล้วดู object ที่ได้จากการทำเช่นนั้น

การค้นหา element ตาม class ใช้จุด (.) ได้เลย ตัวอย่างเช่น div.class-2 จะเลือก element div ทั้งหมดที่อยู่ใน class-2

เราได้โหลด Response object ชื่อ response และ Selector object ชื่อ sel ไว้ให้แล้ว โดยทั้งคู่มีเนื้อหาจากเว็บไซต์ "ลับ" เดียวกัน เมื่อสร้าง CSS Locator เสร็จแล้ว ให้เปรียบเทียบผลลัพธ์จาก response.css และ selector.css เพื่อดูว่าทั้งสองให้ผลเหมือนกัน!

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

Web Scraping ด้วย Python

ดูคอร์ส

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

  • กำหนดค่าให้ตัวแปร css_locator เป็น CSS Locator string ที่ระบุไปยัง element hyperlink a ทั้งหมดที่อยู่ใน class course-block__link
  • กำหนดค่าให้ตัวแปร response_as เป็นผลลัพธ์จากการส่งตัวแปร css_locator ไปยังเมธอด css ของ response
  • กำหนดค่าให้ตัวแปร sel_as เป็นผลลัพธ์จากการส่งตัวแปร css_locator ไปยังเมธอด css ของ sel

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

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

# Create a CSS Locator string to the desired hyperlink elements
css_locator = ____

# Select the hyperlink elements from response and sel
response_as = ____
sel_as = ____

# Examine similarity
nr = len( response_as )
ns = len( sel_as )
for i in range( min(nr, ns, 2) ):
  print( "Element %d from response: %s" % (i+1, response_as[i]) )
  print( "Element %d from sel: %s" % (i+1, sel_as[i]) )
  print( "" )
แก้ไขและรันโค้ด