我要把百度的相关关键词抓取下来。不明白的就开下面这个地址
http://d.baidu.com/rs.php?q=delphi+%B2%D9%D7%F7ini%CE%C4%BC%FE&tn=baidu
下面显示的关键词我要他显示在我的软件上如(listbox)里面,如何操作。急,谢谢高手了。。

解决方案 »

  1.   

    idhttp1.get(url)
    得到网页源码
    之后使用正则表达式获取里面的内容
      

  2.   

    我要获取全部关键词,就一条我知道用这个。还有怎么用IDHTTP循环抓取。。可以给个例子吗。
      

  3.   

    用idhttp就能得到这个页面的源码,正则表达式就可以循环抓取里面的关键字,主要看你怎么写表达式了
    在d7中需要第三方正则表达式单元文件
    例子,wait....
      

  4.   

    这10分不容易啊
    源码:www.ftpff.com/CC_UPFiles/mycgb.rar
    里面的HyperLinksDecorator.pas和RegExpr.pas是正则表达式类,不用看主要代码:
    uses RegExpr;//正则表达式单元procedure TForm1.GetKey;
    const BaiDuKey = 'baidur>(.[^<]*)';
    var
      MyR: TRegExpr;
    begin
      MyR := TRegExpr.Create;
      ListBox1.Items.Clear;
      try
        MyR.Expression := BaiDuKey;
        if MyR.Exec(Memo1.Text) then
          while MyR.ExecNext do
          begin
            ListBox1.Items.Add(MyR.Match[1]);
          end;
      finally
        MyR.Free;
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      try
        Memo1.Lines.Clear;
        Memo1.Lines.Add(IdHTTP1.Get(Edit1.Text));
        GetKey;
      except
        ShowMessage('获取源码出错');
      end;
    end;
      

  5.   

    对了一点不明白,你里面定义的那个常量为什么会是baidur>(.[^<]*)而不是baidur>,这个还不理解,可以在跟我说一下吗?
      

  6.   

    那个常量是正则表达式,匹配需要的关键字
    邮箱是[email protected]
    只用MSN
      

  7.   

    高手,能把你的MSN告诉我吗?
      

  8.   

    [email protected] 就是我的MSN