0
「config-entry」で始まるクラスを持つすべてのdivと一緒にすべてのカテゴリ名を収集する必要があります。私はのようなXPathの//h2[1]/following-sibling::h2[1]/preceding-sibling::div[starts-with(@class,'config-entry')]
を使用しています2つのノード間で兄弟を選択
<h2>category 1</h2>
<div class='clear10'></div>
<div class='config-entry selected-block'>...</div>
<div class='config-entry '>...</div>
<div class='config-entry '>...</div>
<div class='config-entry '>...</div>
<h2>category 2</h2>
<div class='clear10'></div>
<div class='config-entry selected-block'>...</div>
<div class='config-entry '>...</div>
<div class='config-entry '>...</div>
<div class='config-entry '>...</div>
<div class='config-entry '>...</div>
<h2>category 3</h2>
<div class='clear10'></div>
<div class='config-entry selected-block'>...</div>
<div class='config-entry '>...</div>
<h2>category 4</h2>
<div class='clear10'></div>
<div class='config-entry selected-block'>...</div>
<div class='config-entry '>...</div>
<div class='config-entry '>...</div>
<div class='config-entry '>...</div>
:このコードは、唯一のカテゴリ1のために良い作品
categories = root.xpath("//h2")
for i in xrange(len(categories)):
print "----%s----" % categories[i].text
contents = root.xpath("//h2[1]/following-sibling::h2[1]/preceding-sibling::div[starts-with(@class,'config-entry')]")
print len(contents)
は、カテゴリ1と2の間にあるすべてのdivを選択しますが、後のネジアップ。私はh2[1]
で遊んだが、0,2,3に変更したが、具体的なものは何もなかった。どんな手掛かり?
1つのザッツ.. – jerrymouse