如何在以下网址中找到大表的表ID:http://en.wikipedia.org/wiki/States_and_territories_of_India
我能够看到班级wikitable sortable jquery-tablesorter
这张表中列出了印度的州名单。我能够从firebug确认这个表= wikitable sortable jquery-tablesorter
有状态列表。我怎样才能获得该表的ID?
获取该表中所有名称的CSS等价物是什么?
我想只获得州......第一栏。我正在使用jsoup。
答案 0 :(得分:1)
如果这仍然是悬而未决的问题,请按照以下方式获取印度的州名单:
public static void main(String[] args) throws IOException
{
Document doc = Jsoup.connect("http://en.wikipedia.org/wiki/States_and_territories_of_India").get();
Elements tables = doc.select("table");
for (Element table : tables) {
Element tableCaption = table.getElementsByTag("big").first();
if (tableCaption != null && tableCaption.text().equals("States of India")) {
Document statesDoc = Jsoup.parse(table.toString());
Elements states = statesDoc.select("tr td:eq(0)");
for (Element state : states) {
System.out.println(state.text().replaceAll("\\[\\d\\]", ""));
}
}
}
}
答案 1 :(得分:0)
所以看起来你正试图对这张桌子进行筛选。
您的问题的答案是该特定<table>
上有无ID 。
启动表的html是:
<table class="wikitable sortable jquery-tablesorter" style="width:70%;">
如您所见,该元素没有id
属性。
您使用哪些库来解析HTML?在JavaScript中,您可以使用document.getElementsByClassName('wikitable')[0]
并在页面上找到唯一的。但是您使用的语法将取决于您可以使用哪种HTML DOM遍历。
答案 2 :(得分:0)
id
元素是可选的;并非页面上的每个元素都有一个元素。这个表没有。
答案 3 :(得分:0)
该表上没有ID。如果要获取具有“wikitable”类的表的内容。将Jsoup与此代码一起使用
package com.main;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
public class Main {
public static void main (String args[]){
Document doc;
try {
doc = Jsoup.connect("http://en.wikipedia.org/wiki/States_and_territories_of_India").get();
Elements newsHeadlines = doc.select("table.wikitable").get(0).select("td:eq(0) a");
System.out.println(newsHeadlines.html());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
答案 4 :(得分:0)
使用JQuery。您希望第一个表具有类可更改的可排序的jquery-table-sorter。
$(".wikitable.sortable.jquery-table-sorter").first()
虽然,css类可以随时改变,所以我不会依赖它。可能值得请一位可以编辑维基页面的人在所有表格中添加一个id。