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

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

我尝试创建两个xpath来从某些元素中获取两个项目。然而,第一个做得很好,但在第二个的情况下:我不知道。对此的任何帮助将不胜感激。

<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)

当我运行上面的脚本时,它会获取流派,但在质量的情况下我会陷入困境。我想要得到的输出是1080p

最佳答案

尝试使用这个来获得质量值(value):

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

这个也可能适用:

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

关于python - 无法使用我的 scraper 中定义的 xpath 获取项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49475102/

相关文章:

XPath 和 XML : Multiple namespaces

xpath - Xquery将元素的所有“内容”(text()+所有子节点)复制到新元素中

python - 如何匹配 XPath (lxml) 中元素的内容?

python - 在处理 python 列表分配时最小化内存消耗

python - 这些 python 代码示例之间的区别?

python - 使用 Python 请求和 x-www-form-urlencoded 发送嵌套 json 数据

python - 如何使用 factorplot 用分类值注释条形图或绘制 4 个变量?

python - 当值为零时如何完全删除箭袋箭头

python - 这两个代码块(如果有)的时间复杂度有什么区别,为什么?

python - 返回 bool 值列表,比较 Pandas 中列表的行