การเชื่อมต่อ XPath
อ็อบเจกต์ Selector และ SelectorList รองรับการ เชื่อมต่อ (chaining) เมื่อใช้เมธอด xpath กล่าวคือ สามารถเรียกใช้เมธอด xpath ซ้ำต่อกันได้หลายครั้ง ตัวอย่างเช่น ถ้า sel คือชื่อของ Selector แล้ว
sel.xpath('/html/body/div[2]')
จะมีความหมายเดียวกับ
sel.xpath('/html').xpath('./body/div[2]')
หรือเทียบเท่ากับ
sel.xpath('/html').xpath('./body').xpath('./div[2]')
ข้อสำคัญคือต้องใช้จุดนำหน้าสตริง XPath ที่ต่อตามมาแต่ละตัว เพื่อ "เชื่อม" ชิ้นส่วน XPath เข้าด้วยกัน (สังเกตจุดที่เพิ่มไว้ในสตริง XPath ในตัวอย่างข้างต้น)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Web Scraping ด้วย Python
คำแนะนำการฝึกหัด
- เติมช่องว่างด้านล่างเพื่อเชื่อมต่อการเรียก
xpathสองครั้งให้ได้ผลลัพธ์เดียวกับ
sel.xpath('//div/span/p[3]')
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Chain together xpath methods to select desired p element
sel.xpath( '//div' ).xpath( ____ )