以下のようなHTMLがあったとします
lang
1<html> 2 <body> 3 <div id="container"> 4 <div class="hoge"> 5 <div id="fuga" class="piyo"> 6 <div id="sheet" class="piyo2"> 7 <div class="paginate"> 8 <div class="fkd"></div> 9 <div class="entrybody"> 10 <a href="sample.com"> 11 <a href="sample2.com"> 12 <div class="entrybody"> 13 <a href="sample.com"> 14 <a href="sample2.com"> 15 <a href="sample.com"> 16 <a href="sample2.com"> 17 <div class="entrybody"> 18 ・ 19 ・ 20 ・
このとき、<div class="entrybody">のXpathをすべて指定するのは以下のプログラムでできると思います
lang
1require 'nokogiri' 2require 'open-uri' 3 4doc = Nokogiri::HTML(open("http://hoge.com/")) 5body = doc.xpath('/html/body/div/div/div/div[@class="entrybody"]/a')
この場合に<div class="entrybody">のn番目というのは指定できますか?
たとえば、1つ目の<div class="entrybody">の要素の数を指定した場合に、puts body.sizeをすると2になり、2つ目の<div class="entrybody">を指定した場合には4が表示されるようにしたいです
私は以下のプログラムをで実現できるかと思ったのですができませんでした
nはn番目を意味しています
lang
1require 'nokogiri' 2require 'open-uri' 3 4doc = Nokogiri::HTML(open("http://hoge.com/")) 5body = doc.xpath('/html/body/div/div/div/div[@class="entrybody"][n]/a')
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/06/08 16:56