Rốt cuộc nó cũng trở thành một biểu thức XPath phức tạp:
library(XML)
sitePage<-htmlParse("http://ipt.humboldt.org.co/")
hyperlinksYouNeed<-getNodeSet(sitePage,"//table[@id='resourcestable']
//td[5][.='Specimen']
/preceding-sibling
::td[3]
/a
/@href")
nhưng hãy để tôi giải thích các biểu thức XPath bit-by-bit:
//table[@id='resourcestable']
-> Bằng cách này chúng tôi đang nhận được chính bảng trên trang có tên 'resourcestable'
//td[5][.='Specimen']
-> Bây giờ, chúng tôi chỉ lọc những hàng có Loại là Mẫu
/preceding-sibling
-> Bây giờ chúng ta bắt đầu nhìn lại một quãng
::td[3]
-> 3 bước để được đếm chính xác ngược từ nơi mà chúng ta đang có. Hãy cẩn thận trước-sibling bắt đầu đếm ngược do đó td [1] là Loại cột, td [2] là Tổ chức cột và td [3] là Tên cột chúng ta muốn.
/a
-> Bây giờ có được bao gồm một nút
/@href
- nội dung> và cuối cùng chính xác hơn các thuộc tính href