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

ได้รับการ `href` แล้ว

ในแบบฝึกหัดก่อนหน้า คุณได้สร้าง CSS Locator string เพื่อเลือก hyperlink (element a) ที่เป็น children ของ element div ทั้งหมดที่อยู่ใน class "course-block" ตอนนี้เราได้สร้าง SelectorList ชื่อ course_as ซึ่งเลือก hyperlink children เหล่านั้นไว้แล้ว

ทีนี้ ให้เติมส่วนที่ขาดหายไปด้านล่างเพื่อดึงค่า attribute href จาก element เหล่านี้ นี่คืออีกตัวอย่างหนึ่งของการ chaining เช่นเดียวกับที่เคยเห็นในแบบฝึกหัดก่อนหน้า

ประเด็นสำคัญคือ เราสามารถ chain การเรียกใช้เมธอด css และ xpath เข้าด้วยกันได้ เราช่วยชี้ทิศทางที่ถูกต้องโดยให้คำตอบในกรณีที่ chain ด้วยการเรียกเมธอด css อีกครั้ง

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

Web Scraping ด้วย Python

ดูคอร์ส

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

  • สร้าง object Selector ชื่อ sel โดยใช้ string html เป็น text input
  • กำหนดค่า href attribute จาก element ใน course_as ให้กับตัวแปร hrefs_from_xpath โดยผลลัพธ์ต้องตรงกับ hrefs_from_css

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

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

from scrapy import Selector

# Create a selector object from a secret website
sel = Selector( ____ )

# Select all hyperlinks of div elements belonging to class "course-block"
course_as = sel.css( 'div.course-block > a' )

# Selecting all href attributes chaining with css
hrefs_from_css = course_as.css( '::attr(href)' )

# Selecting all href attributes chaining with xpath
hrefs_from_xpath = course_as.xpath( ____ )
แก้ไขและรันโค้ด