我希望你过得很好。
<ul>
<li>
<s>Title:</s>
De Aardappeleters
</li>
<li>
<s>Dimensions:</s>
82 x 114 cm
</li>
<li>
<s>Media:</s>
canvas
</li>
<li>
<s>Style:</s>
Realism
</li>
<li>
<s>Date:</s>
1885
</li> ______
<li> |
<s>Genre:</s> | It is located on a page of the website here
Modern |
</li> ______|
</ul>
我有一个HTML代码块,我想从li接收文本。但不幸的是,这个li没有我可以选择的类或ID。这个块是一个站点。
<li>
<s>Genre:</s>
Modern
</li>
我想选择流派列表并获取文本。
Modern
这里的主要问题是这个块在另一个页面上是不同的。👇
<ul>
<li>
<s>Title:</s>
De Aardappeleters
</li>
<li>
<s>Dimensions:</s>
82 x 114 cm
</li>
<li>
<s>Media:</s>
canvas
</li> ______
<li> |
<s>Genre:</s> |And it is located here on another page.
Modern |
</li> ______|
<li>
<s>Style:</s>
Realism
</li>
<li>
<s>Date:</s>
1885
</li>
</ul>
OriginalTagFind = layout.css('article ul li s::text').getall()
TitleOriginal = [tag.strip() for tag in OriginalTagFind if tag.startswith('Genre:')]
在我看来,如果我来到我所选择的地方,用下一个Sibiling打印母亲名单的文本。有可能吗?
3条答案
按热度按时间brqmpdu11#
使用css选择器,您可以用途:
'li:has(s):contains("Genre:")::text'
使用xpath选择器,您可以用途:
"//li[s[contains(text(), 'Genre')]]/text()"
我已经用下面的例子演示了这两种方法:
doinxwow2#
检查以下示例并尝试:
如果它包含额外的空格,使用strip()删除空格,
f45qwnt83#
对于这种情况,我严格反对任何形式的...按照其他答案中的建议,在查询中硬编码字段名称。
在这种情况下,最好是循环。对于每个
li
标签。并在li
中分别捕获字段名称和它的文本。通过这种方法,您将能够捕获所有字段名称/值。print(item)
的输出: