<td width="10"></td>
<td width="65"><img src="/images/sparks/NIFTY.png" /></td>
<td width="65">5,390.85</td>
<td width="65">5,428.15</td>
<td width="65">5,376.15</td>
<td width="65">5,413.85</td>
これは、値5390.85,5428.15、5376.15、5413.85を抽出する必要があるHTMLソースです。私はjsoupを使ってこれをしたかったのです。しかし、私はjsoupに比較的慣れていません(今日、私はそれを使い始めました)。どうすればいいですか?
URL url = new URL("http://www.nseindia.com/content/equities/niftysparks.htm");
Document doc = Jsoup.parse(url,3*1000);
String text = doc.body().text();
私はすでにjsoupを使用してウェブサイトのコンテンツを抽出しています。しかし、どのように私は必要な値を抽出するのですか?前もって感謝します
このようなものを試してください:-
URL url = new URL("http://www.nseindia.com/content/equities/niftysparks.htm");
Document doc = Jsoup.parse(url, 3000);
Element table = doc.select("table[class=niftyd]").first();
Iterator<Element> ite = table.select("td[width=65]").iterator();
ite.next(); // first one is image, skip it
System.out.println("Value 1: " + ite.next().text());
System.out.println("Value 2: " + ite.next().text());
System.out.println("Value 3: " + ite.next().text());
System.out.println("Value 4: " + ite.next().text());
これがプリントアウトです:-
Value 1: 5,390.85
Value 2: 5,428.15
Value 3: 5,376.15
Value 4: 5,413.85
Groovy langを使用した例を次に示します。
def url = "http://www.espn.co.uk/scrum/rugby/match/scores/recent.html"
def doc = Jsoup.connec(url).get()
//Strip the table from the page
def table = doc.select("table").first()
// Strip the rows from the table
def tbRows = table.select("tr")
// For each column in a row, print its contents if not empty
tbRows.each { row ->
def tbCol = row.select("td")
tbCol.each { column ->
if(!column.text().empty) {
println column.text()
}
}
}
これを配列に保存して、さらに処理することができます。ちょうど別の視点。