2016-09-09 10 views
1

私はhttps://en.wikipedia.org/wiki/September_8の2番目のul要素だけを取得しようとしています。これはすべてのイベントリストです。Nokogiriで特定のulのみをスクラップする方法はありますか?

これは私が今持っているものです:私は必要

require 'nokogiri' 
require 'open-uri' 

doc = Nokogiri::HTML(open('https://en.wikipedia.org/wiki/September_8', {ssl_verify_mode: 0})) 

doc.css('ul').each do |link| 
    puts link.content 
end 

ULは、全体のHTMLドキュメントに2番目の存在です。どのようにすればいいですか?

+0

CSSセレクタを使用する場合を試してみてください。 NodeSetはArrayのように動作するため、個々の要素を繰り返し処理できるように、スライスやインデックスを使用して特定の要素を取得することができます。コマンドラインで 'nokogiri https:// en.wikipedia.org/wiki/September_8'を実行すると、IRBセッションに移ります。このセッションでは、解析されたDOMで簡単に遊ぶことができます。これをすぐに把握する。また、掻き立てる代わりにWikipediaのAPIを真剣に見てください。それは非常に強力で、削るより壊れにくいです。 –

答えて

0

この

doc.css('ul')[1] 

またはあなたが `css`、` xpath`または `search`を使用する場合は、あなたが戻ってノードセットを受け取るだけ

doc.css('ul:nth-of-type(2)') 
関連する問題