如何编写从网页中读取所需要的数据 ( 积分: 100 )

  • 主题发起人 主题发起人 mitty
  • 开始时间 开始时间
M

mitty

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在WebBrowser中编写从网页中读取所需要的数据,我只是想得到里面的一些值。
 
如何在WebBrowser中编写从网页中读取所需要的数据,我只是想得到里面的一些值。
 
你得知道网页里有什么东西,及你所要的是什么东西。然后提取网页源代码,再进行分析就可以了。
var
htmlydm:string;
i:integer;
begin
htmlydm:=ihtmldocumnet2(webbrowser1.document).body.outerhtml;
i:=pos('你所要找的东西',htmlydm);
edit1.text:=copy(htmlydm,i,(你所要找的东西的数值个数));
。。。。。。。。。。。
查看网页源代码:
memo1.lines.add(ihtmldocument2(webbrowser1.document).body.outerhtml);
 
{SubmitForm函数实现向网页自动提交数据,并自动提交查询}
procedure TForm1.SubmitForm(var loop:integer);
var
doc:IHTMLDocument2;
elec:IHTMLElementCollection;
chele:IHTMLElement;
InputElement:IHTMLInputElement;
i:integer;
begin
if BankBrowser.Document =nil then exit; //如果网页未打开或者内容为空,则退出。
doc:=BankBrowser.Document as IHTMLDocument2; //调用IHTMLDocument2接口
elec:=doc.all.tags('INPUT') as IHTMLElementCollection; // 取得网页中的输入元素,即INPUT标签
for i:=0 to elec.length -1 do
begin
chele:=elec.item(i,emptyparam) as IHTMLElement;
if chele.tagName ='INPUT' then
try
InputElement:=elec.item(i,emptyparam) as IHTMLInputElement;
if InputElement.name= 'bbstxt' then
InputElement.value :=LoopArray[loop];
chele.click; //提交网页查询
except
end;
end;
end;
 
直接用POS加COPY就可以搞定了
 
好像不可以,我的意思是比如说我要取一个版本的信息,最新版本信息那是别人网站上经常改变的。
 
为什么不可以呢?你先分析你需要得到数据的那个网页的HTML源码,找到你需要的版本信息包含在那个标签里面,然后调用IHTMLDocument2接口,就可以得到你想要的东西了!或者,你可以参看MSDN里的资料,有关IHTMLDocument2的资料非常的详细,努力吧!
 
后退
顶部