1

如何在以下网址中找到大表的表 ID:http ://en.wikipedia.org/wiki/States_and_territories_of_India

我能够看到课程wikitable sortable jquery-tablesorter

这是包含印度各州列表的表格。我能够从萤火虫确认此表 =wikitable sortable jquery-tablesorter具有状态列表。如何获取该表的 ID?

获取该表中所有名称的 CSS 等效项是什么?

我只想得到州......第一列。我正在使用jsoup

4

5 回答 5

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\\]", ""));
                }
            }
        }

    }
于 2012-08-19T03:24:26.567 回答
0

所以看起来你正试图截屏这个表。

你的问题的答案是那个特定的没有 id<table>

开始表格的 html 是:

<table class="wikitable sortable jquery-tablesorter" style="width:70%;">

如您所见,该元素没有id属性。

您使用哪些库来解析 HTML?在 JavaScript 中,您可以使用document.getElementsByClassName('wikitable')[0]并在页面上唯一地找到它。但是您将使用的语法将取决于您可以使用哪种 HTML DOM 遍历。

于 2012-08-16T02:42:17.037 回答
0

id元素是可选的;并非页面上的每个元素都有一个。这张表没有。

于 2012-08-16T02:42:30.437 回答
0

那张桌子上没有身份证。如果您想获取具有“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();
        }

    }
}
于 2012-08-16T02:51:30.733 回答
0

使用 jQuery。你想要第一个带有类 wikitable sortable jquery-table-sorter 的表。

$(".wikitable.sortable.jquery-table-sorter").first()

虽然,css 类可以随时更改,所以我不会依赖它。让可以编辑 wiki 页面的人为所有表添加一个 id 可能是值得的。

于 2012-08-16T03:07:05.500 回答