无法使用我的刮板中定义的 xpath 获取项目
Can't fetch an item using xpath defined within my scraper
我尝试创建两个 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
。
尝试使用这个来获得质量值:
quality = items.xpath("./ul/text()[position()=last()]")[0]
这个可能也适用:
quality = items.xpath(".//b[.='Quality:']/following::text()")[0]
我尝试创建两个 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
。
尝试使用这个来获得质量值:
quality = items.xpath("./ul/text()[position()=last()]")[0]
这个可能也适用:
quality = items.xpath(".//b[.='Quality:']/following::text()")[0]