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

时间:2018-03-25 11:04:47

标签: python python-3.x xpath web-scraping lxml

我尝试创建两个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

1 个答案:

答案 0 :(得分:1)

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

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

这个也可能适用:

quality = items.xpath(".//b[.='Quality:']/following::text()")[0]