Так я написал скребком и я пытаюсь получить только текст абзаца, который включает в себя на снегу Feelnokogiri выберите пункт с текстом матча
Я пытаюсь вытащить что, но им не уверен, как чтобы nokogiri вытащил абзац, который имеет что-то похожее на текст.
На данный момент у меня есть boards[:onthesnowfeel] = html.css(".reviewfold p").text
, но это фиксирует все абзацы. И не предполагайте, что абзацы будут в порядке все время. Так что просто не делай [2] или что-то в этом роде.
Но какой метод вы бы использовать, чтобы очистить пункт, соответствующий текст «О Snow Feel»
<div id="review" class="reviewfold">
<p>The <strong>Salomon A</strong><b>assassin</b> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p>
<p><b>Approximate Weight</b>: Moew mix is pretty normal</p>
<p><strong>On Snow Feel: </strong>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum.</p>
<p><strong>Powder: </strong>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. </p>
</div>
Попробуйте 'html.css (". Reviewfold p "). Find {| e | e.text = ~/On Snow Feel /} .text'. – sschmeck
Это сработало! @sschmeck – mystycs
См. http://stackoverflow.com/questions/1474688/nokogiri-how-to-select-nodes-by-matching-text. Обратите внимание: если вы хотите совместить текст * в начале * абзаца, вам нужно будет использовать XPath: 'doc.xpath (« // * [@ class = 'reviewfold]] // p [start-with (., 'On Snow Feel')] ")' – sshaw