2011-12-22 3 views
0

를 잡아 Scrapi 보석 문제 나는 다음과 같은 HTML이 :루비/레일 - 다음 DIV 텍스트

<div class="tvShow" align="left"> 
    <div class="clearfix" style="margin:0px 0px;"> 
     <h3 class="left" style="margin:0px 0px">FIRST TUESDAY BOOK CLUB WITH JENNIFER BYRNE</h3> 
    </div> 

    <div>Thursday 22nd December at 2.00 pm (60 minutes)</div> 

    <div><b>Channel: </b>ABC1</div> 
    ... 
</div> 

나는 내용을 긁어하기 위해 scrapi 보석을 사용하고 있습니다.

내가 추출하기 위해 지금까지 무슨이다 h3 :

channel_item = Scraper.define do 
    process "h3", :name => :text 
end 

# let scrapi begin 

listings = Scraper.define do 
    array :programs 
    process "div.tvShow", :programs => channel_item 
    result :programs 
end 

# loop through the listings 

listings.scrape(uri).each do |program| 
    puts program.name.titleize # h3 text 
end 

I 2.00시 (60 분)을하고 채널에서 목요일 22 12 월 추출하는 방법을 완전히 확실하지 않다 : ABC1 텍스트.

도움을 주시면 감사하겠습니다. 미리 감사드립니다.

+0

JSON과 Nokogiri 버전에이 질문을 할 때 ScrAPI를 시도하는 이유는 무엇입니까? –

+1

Nokogiri를 사용하여 * 모든 * 데이터를 가져올 수 있습니다. –

답변

1

이 시도 :이 도움이

channel_item = Scraper.define do 
    process "h3", :name => :text 
    process "div[2]", :time => :text 
    process "div[3]", :channel => :text 
end 

http://saxon.sourceforge.net/saxon6.5.3/expressions.html#NodeSetExpressions

희망을.

+0

'selector.rb : 336 : '초기화'에서 : 유효하지 않은 선택자 : [2] (ArgumentError)' ' – fuzz

+0

''div 대신'div [position() = 2] ''를 시도하십시오. [2] ". – DNNX

+1

글쎄, Scrapi의 CSS 선택기에서 술어가 지원되지 않는 것 같습니다. 나는 Nokogiri에 swich 대신에 건의 할 것입니다. – DNNX