2012-12-07 2 views
0
page = urlopen(req) 
doc = parse(page).getroot() 
table = doc.xpath('/html/body/div/div/div/table') 
table 
<Element table ...> 
doc.xpath('/html/body/div/div/div/table/tr') 
<Element tr ...>... 
table.xpath('/tr') 
[] 

를 통해 LXML의 하위 요소를 구문 분석?어떻게 XPath는

+2

내가 잘못 될 수 있지만'table.xpath ('./ TR') '또는'// TR '을 시도 : 이러한
어느 작동합니다. – Anorov

+0

목적은 무엇입니까? 예를 들면 - 웹 스크래핑 또는 다른 것? –

+0

웹 스크래핑 네, 왜 과잉이라고 생각합니까? – user1561108

답변

4

/으로 시작하는 xpath는 항상 문서 루트에서 일치하기 시작하기 때문입니다.

이렇게하려면 슬래시를 그대로 두거나 명시 적이어야하며 .을 사용하여 현재 요소와 일치시킵니다.

table.xpath('tr') 
# or 
table.xpath('./tr')