1
본문에 여러 줄을 고려하지 않은 비슷한 질문을 게시했습니다. 나는 각각의 헤더 제목 아래 본문 내용을 추출과 같이 배열로를 배치 할헤더 태그 아래의 다중 줄 내용 추출
html = %q|
<div class="content">
<h1>Title 1</h1>
Lorem ipsum 1
<h2>Title 2</h2>
Lorem ipsum 2
<h3>Title 3</h3>
<p>paragraph content 1</p>
<b>Lorem ipsum 3</b>
<p>paragraph content 2</p>
<h1>Title 4</h1>
Lorem ipsum 4
<h2>Title 5</h2>
Lorem ipsum 5
</div>
|
을 : 나는 (노코 기리를 사용)의 "몸"을 추출 할 것을 같은 html로이
그러나[
"Lorem ipsum 1",
"Lorem ipsum 2",
"<p>paragraph content 1</p><b>Lorem ipsum 3</b><p>paragraph content 2</p>",
"Lorem ipsum 4",
"Lorem ipsum 5"
]
, 나는 할 때 :
[
"Lorem ipsum 1",
"Lorem ipsum 2",
"<p>paragraph content 1</p>",
"<b>Lorem ipsum 3</b>",
"<p>paragraph content 2</p>",
"Lorem ipsum 4",
"Lorem ipsum 5"
]
: 내가 대신 배열을 얻을
Nokogiri::HTML(html).
css("div").
children.
reject{|e| e.name =~ /\Ah\d\z/}.
map{|e| e.to_html.strip}.reject(&:empty?)
여러 개의 "body"내용을 추출하여 원하는 배열을 표시하는 방법이 있습니까?
문제는 여러 행과 관련이 없으며 헤더 다음에 오는 여러 DOM 노드와 관련이 있습니다. – sawa