无法使用我的scraper中定义的xpath获取项目

问题描述 投票:1回答:1

我试图创建两个xpaths来从一些元素中获取两个项目。然而,第一个是伟大的,但在第二个:我无法得到任何想法。任何有关这方面的帮助将不胜感激。

<div class="mdif">
    <ul>
        <li><b>Genre:</b>Thriller</li> 
        <li><b>Quality:</b></li>1080p  
    </ul>
</div>

我试过这样的:

from lxml.html import fromstring   
content="""
<div class="mdif">
    <ul>
        <li><b>Genre:</b>Thriller</li> 
        <li><b>Quality:</b></li>1080p  
    </ul>
</div>
"""
root = fromstring(content)
for items in root.xpath("//div[@class='mdif']"):
    genre = items.xpath(".//li/text()")[0]
    # quality = items.xpath(".//li/text()")[0]
    print(genre,quality)

当我运行上面的脚本时,它获取genre但是在quality的情况下我被卡住了。我想得到的输出是1080p

python python-3.x xpath web-scraping lxml
1个回答
1
投票

尝试使用这个来获得质量价值:

quality = items.xpath("./ul/text()[position()=last()]")[0]

这个也可能适用:

quality = items.xpath(".//b[.='Quality:']/following::text()")[0]
© www.soinside.com 2019 - 2024. All rights reserved.