1
這是我正在使用的文檔的一部分的模型。我想要做的是先找到時間和成本要素,然後從中找到它們各自的價值。我試過各種軸選擇器,但沒有任何地方。我不直接去找時間和成本元素,我需要找到他們與他們相關的h4s。Scrapy:穿越文檔
<ul class="events">
<li id="event-123456" class=eventItem>
<div class="details">
<h4>Time</h4>
<div>
<p>17:00</p>
</div>
<h4>Cost</h4>
<div>
<p>10.00</p>
</div>
</div>
</li>
<li id="event-678901" class=eventItem>
<div class="details">
<h4>Time</h4>
<div>
<p>21:00</p>
</div>
<h4>Cost</h4>
<div>
<p>20.00</p>
</div>
</div>
</li>
</ul>
這是解析器
def parse(self, response):
Events = response.xpath('//ul')
for event in Events:
item['cost'] = event.xpath(???)
item['time'] = event.xpath(???)
這並不完全正確。 'event.xpath(「.// h4 [。='Time']/following-sibling :: div/p/text()」)'會返回一個帶有2個選擇器的SelectorList,而不是一個。除非結合'.extract_first()'(這可能是你的意思),否則你需要用'.h4 [ ='時間'] /下列兄弟:: div [1]/p/text()' –
@paultrmbrth謝謝,好點。 – alecxe