14

私は次のようなhtmlを持っています:

<h1>Text 1</h1>
<div>Some info</div>
<h1>Text 2</h1>
<div>...</div>

h1からスクレイピー情報を使用して抽出する方法を理解しています:

content.select("//h1[contains(text(),'Text 1')]/text()").extract()

しかし、私の目標はコンテンツを抽出することです<div>Some info</div>

私の問題は、div に関する特定の情報がないことです。私が知っていることは、それが正確に<h1>Text 1</h1>. セレクターを使用して、ツリーの NEXT 要素を取得できますか? DOMツリーの同じレベルにある要素?

何かのようなもの:

a = content.select("//h1[contains(text(),'Text 1')]/text()")
a.next("//div/text()").extract()
Some info
4

2 に答える 2

20

これを試してくださいxpath

//h1[contains(text(), 'Text 1')]/following-sibling::div[1]/text()
于 2013-11-04T13:09:36.963 に答える