1、读大智慧的,缺点:需要每天手工登录大智慧,太烦了
2、读取网页的,例如:http://quote.eastmoney.com/stocklist.html
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw,WinInet,mshtml;
type
TForm1 = class(TForm)
WebBrowser: TWebBrowser;
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure WebBrowserBeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
procedure WebBrowserDocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
FirstDisp: IDispatch;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser.Navigate('http://quote.eastmoney.com/stocklist.html');
end;
procedure TForm1.WebBrowserBeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
FirstDisp:=pDisp;
end;
procedure TForm1.WebBrowserDocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
i :integer;
o :Variant;
begin
if FirstDisp<> pDisp then exit;
delphi.com/topic_517272_66fd.htm">Beep ;
{for i:=0 to webbrowser.oleobject.document.links.length-1 do
begin
memo1.Lines.Add(webbrowser.oleobject.document.links.item(i).href);
end;}
for i :=0 to WebBrowser.OleObject.document.all.tags('li').Length-1 do
Begin
if pos('00',WebBrowser.OleObject.document.all.tags('li').item(i).InnerText)>0 then
memo1.Lines.Add(WebBrowser.OleObject.document.all.tags('li').item(i).InnerText);//这个方法不保险,万一代码里没有00就惨了
end;
仔细看了一下网页的源文件,股票的代码表放在这里<div class="quotebody">....</div>
怎么读出来呢???
//WebBrowser.OleObject.Document.GetElementsByTagName('quotebody').InnerText;
o:=WebBrowser.OleObject.document.getElementsByTagName('div');
memo1.Lines.Add(inttostr(o.length));
for i:=0 to o.length-1 do
begin
memo1.Lines.Add(o.item[i].caption)//这句不会,大家指点一下
end;
end;
end.