2016-06-07 63 views
0

我想用python xpath從下面的html中提取html的一部分。 我的問題只是想提取html部分包含標籤和文字,而這個Get all text inside a tag in lxml的問題是要提取html文本部分,所以這兩個問題是不同的。python3從xpath中提取HTML的html部分

<html> 
<body> 
<div class ="item"> 
    <ul> 
    <li class="item-0"><a href="link1.html">first item</a></li> 
    <li class="item-1"><a href="link2.html">second item</a></li> 
    <li class="item-inactive"><a href="link3.html">third item</a> </li> 
    <li class="item-1"><a href="link4.html">fourth item</a></li> 
    <li class="item-0"><a href="link5.html">fifth item</a></li> 
    </ul> 
    </div> 
    <div class = "movie"> 
    <div title = "name"> 
    <ul>[url=http://] 
    <li class="item-0"><a href="link1.html">movie a</a></li> 
    <li class="item-1"><a href="link2.html">movie b</a></li> 
    <li class="item-inactive"><a href="link3.html">movie c</a></li> 
    <li class="item-1"><a href="link4.html">movie d</a></li> 
    </ul> 
    </div> 
    </div> 
    </body> 
    </html> 

其實我只是想從上面的html中提取下面的html。

<div title = "name"> 
    <ul> 
    <li class="item-0"><a href="link1.html">movie a</a></li> 
    <li class="item-1"><a href="link2.html">movie b</a></li> 
    <li class="item-inactive"><a href="link3.html">movie c</a></li> 
    <li class="item-1"><a href="link4.html">movie d</a></li> 
    </ul> 
    </div> 

我的代碼進口要求

page = requests.get('........html') 
tree = html.fromstring(page.content) 
body = tree.xpath('//div[contains(@title, "name")]') 
print('body:', body) 

但結果是

<Element div at 0x103620e58> 

我想在這部分HTML所有的元素,例如

<ul> <li> . 

請使用其他的xpath方法方法。

+0

的[獲取LXML一個標籤內的所有文本]可能的複製(http://stackoverflow.com/questions/4624062/get-all-text-inside-a-tag-in-lxml) –

回答

1

我想在這部分HTML所有的元素,例如 < ul> < LI>

嘗試使用:

body = tree.xpath('//div[contains(@title, "name")]/ul') 

或:

更新:(謝謝@RafaelAlmeida)全部元素吹分區

body = tree.xpath('//div[contains(@title, "name")]//*') 
+0

這是不是OP要求的! –

+0

@RafaelAlmeida:嗯可能是你正確的,因爲「獲得**所有**的元素」 –

+0

感謝@ hr_117和@Rafael Almeida,我想要的代碼:body = tree.xpath('// div [contains( @title,「name」)] // *')你是個好人,對你的回答很認真。最好的祝願!此外,如果您有關於xpath的一些材料鏈接或教程,請告訴我!無論如何,非常感謝! – tktktk0711