zoukankan      html  css  js  c++  java
  • HTML网页Table解析

    procedure TForm27.Button1Click(Sender: TObject);
    var
      doc2: IHTMLDocument2;
      doc3: IHTMLDocument3;
      itableCollection, emtCollection: IHTMLElementCollection;
      itable: IHTMLTABLE;
      emt: IHTMLElement;
      tabrow: IHTMLTableRow;
      tabsec: IHTMLTableSection;
      I, J, K: integer;
      sid, s1, s2, s3, s4, s5, sText: string;
    begin
      ListBox1.Clear;
      WebBrowser1.Navigate('http://zx.caipiao.163.com/trend/11xuan5/?beginPeriod=14092901&endPeriod=14100875&selectDate=4');
      while WebBrowser1.Busy do
        Application.ProcessMessages;
    
      doc2 := self.WebBrowser1.Document as IHTMLDocument2;
      doc3 := WebBrowser1.Document as IHTMLDocument3;
      itableCollection := doc2.all.tags('table') as IHTMLElementCollection;
    
      for I := 0 to itableCollection.Length - 1 do
      begin
        itable := itableCollection.item(I, 0) as IHTMLTABLE;
        emt := itable as IHTMLElement;
    
        if emt.id = 'chartsTable' then
        begin
          emt := itable.tBodies.item(1, 0) as IHTMLElement; // tbody cpdata
          tabsec := emt as IHTMLTableSection;
          tabsec.rows.Length;
    
          for J := 0 to tabsec.rows.Length - 1 do
          begin
            tabrow := tabsec.rows.item(J, 0) as IHTMLTableRow;
            if tabrow.cells.Length < 10 then
              Continue;
            sid := (tabrow.cells.item(0, 0) as IHTMLElement).innerText; // 14100718
            s1 := (tabrow.cells.item(2, 0) as IHTMLElement).innerText; // 01
            s2 := (tabrow.cells.item(3, 0) as IHTMLElement).innerText; // 02
            s3 := (tabrow.cells.item(4, 0) as IHTMLElement).innerText; // 03
            s4 := (tabrow.cells.item(5, 0) as IHTMLElement).innerText; // 04
            s5 := (tabrow.cells.item(6, 0) as IHTMLElement).innerText; // 05
            sText := Format('%s %s %s %s %s %s', [sid, s1, s2, s3, s4, s5]);
            ListBox1.Items.Add(sText);
          end;
        end;
      end;
    end;
  • 相关阅读:
    is 和 == 的区别,utf和gbk的转换,join用法
    python字典的整理信息
    poj分类
    cloud computing
    POJ1007 关于STL排序方法 动态数组的创建 和向量的使用
    math类
    研究生考试感想
    4.11
    重看设计模式 观察者模式
    子串计算 2010北京大学复试机试题
  • 原文地址:https://www.cnblogs.com/cb168/p/4012540.html
Copyright © 2011-2022 走看看