.//p

Aug. 9, 2020


.//p

python/lxml example: current node selection page=""" <!DOCTYPE html> <body> <!-- this is a comment --> <div name="div_a"> <h1 name="head1">First Heading</h1> <p name="p1">My first paragraph.</p> <div name="div_a1"> <div name="div_a2"> <p name="p2">Description1</p> <p name="p3">Description2</p> </div> </div> <div name="div_a3" class="description">Description3</div> </div> <div name="div_b"> <h1 name="head1">First Heading</h1> <p name="p1">My first paragraph.</p> <div name="div_b1"> <div name="div_b2"> <p name="p2">Description1</p> <p name="p3">Description2</p> </div> </div> <div name="div_b3" class="description">Description3</div> </div> <div name="div_c"> <h1 name="head1">First Heading</h1> <p name="p1">My first paragraph.</p> <div name="div_c1"> <div name="div_c2"> <p name="p2">Description1</p> <p name="p3">Description2</p> </div> </div> <div name="div_c3" class="description">Description3</div> </div> <img width = "5"></img> <img width = "15"></img> </body> </html> """ doc = html.fromstring(page) elements = doc.xpath('//div[@name="div_b"]') paragraphs = elements[0].xpath('.//p') for e in paragraphs: print "[%s %s]" % (e, e.attrib) Rezults are: [ {'name': 'p1'}] [ {'name': 'p2'}] [ {'name': 'p3'}]

Return to home