本帖最后由 derline 于 2011-02-04 21:01:00 编辑

解决方案 »

  1.   

    说白了就是说要“偷取”别人的数据吧?1:如果表格有规律的话使用正则表达式
    2:没有规律的话,需要用 HTML 解析工具,比如:HTMLParser
      

  2.   

    正则一点也不会,还请大侠给个示范,以此段代码为例,谢谢:<html>
      <body>
        <table>
          <tr>
            <td>1111</td>
            <td>2222</td>
          </tr>
          <tr>
            <td>3333</td>
            <td>4444</td>
          </tr>
        </table>
      </body>
    </html>
      

  3.   

    使用HTMLParser解析网页数据:
    HTMLPARSER例子如下:
    先下载Jar包,再测试如下例子:  /*  
     * 测试对<table><tr><td></td></tr></table>的解析  
     */
    public static void testTable() {
    Parser myParser;
    NodeList nodeList = null;
    myParser = Parser.createParser("<body> " + "<table id='table1′ >"
    + "<tr><td>1-11</td><td>1-12</td><td>1-13</td>"
    + "<tr><td>1-21</td><td>1-22</td><td>1-23</td>"
    + "<tr><td>1-31</td><td>1-32</td><td>1-33</td></table>"
    + "<table id='table2′ >"
    + "<tr><td>2-11</td><td>2-12</td><td>2-13</td>"
    + "<tr><td>2-21</td><td>2-22</td><td>2-23</td>"
    + "<tr><td>2-31</td><td>2-32</td><td>2-33</td></table>"
    + "</body>", "GBK");
    NodeFilter tableFilter = new NodeClassFilter(TableTag.class);
    OrFilter lastFilter = new OrFilter();
    lastFilter.setPredicates(new NodeFilter[] { tableFilter });
    try {
    nodeList = myParser.parse(lastFilter);
    for (int i = 0; i <= nodeList.size(); i++) {
    if (nodeList.elementAt(i) instanceof TableTag) {
    TableTag tag = (TableTag) nodeList.elementAt(i);
    TableRow[] rows = tag.getRows(); for (int j = 0; j < rows.length; j++) {
    TableRow tr = (TableRow) rows[j];
    TableColumn[] td = tr.getColumns();
    for (int k = 0; k < td.length; k++) {
    System.out.println("<td>"
    + td[k].toPlainTextString());
    } } }
    } } catch (ParserException e) {
    e.printStackTrace();
    }
    }  
      

  4.   

    我晕,点错了,把分分给你下楼了。。CSDN设计不好的地方