请教高手bcb定时抓取网页数据并处理的问题?
请教高手bcb定时抓取网页数据并处理的问题?
(最少每分钟一次)
1.用NMHTTP还是IdHTTP?或者其它更好的方式?
用NMHTTP不定期出错?一分钟内多次抓取出错,好象是已经连接的问题,能不能先断开再抓取?
//---------------------------------------------------------------------------
AnsiString __fastcall get_http_html(char* htt)
{
AnsiString ss;
try{
// 能不能先断开再抓取?
Form1->NMHTTP1->TimeOut = 30000;
Form1->NMHTTP1->InputFileMode = false;
Form1->NMHTTP1->OutputFileMode = false;
Form1->NMHTTP1->ReportLevel = Status_Basic;
if(Form1->NMHTTP1->Connected==false)
Form1->NMHTTP1->Get(htt);
ss=Form1->NMHTTP1->Body;
}
catch(...)
{
}
return ss;
}
2.定时器Timer工作时程序界面停止响应,如果用线程,程序框架该怎样写?
//---------------------------------------------------------------------------
void __fastcall TForm1::TimerworkTimer(TObject *Sender)
{
get_min_http((get_http_html2(all_http.c_str())).c_str()); //抓取
view_min(); //计算并显示
}
(最少每分钟一次)
1.用NMHTTP还是IdHTTP?或者其它更好的方式?
用NMHTTP不定期出错?一分钟内多次抓取出错,好象是已经连接的问题,能不能先断开再抓取?
//---------------------------------------------------------------------------
AnsiString __fastcall get_http_html(char* htt)
{
AnsiString ss;
try{
// 能不能先断开再抓取?
Form1->NMHTTP1->TimeOut = 30000;
Form1->NMHTTP1->InputFileMode = false;
Form1->NMHTTP1->OutputFileMode = false;
Form1->NMHTTP1->ReportLevel = Status_Basic;
if(Form1->NMHTTP1->Connected==false)
Form1->NMHTTP1->Get(htt);
ss=Form1->NMHTTP1->Body;
}
catch(...)
{
}
return ss;
}
2.定时器Timer工作时程序界面停止响应,如果用线程,程序框架该怎样写?
//---------------------------------------------------------------------------
void __fastcall TForm1::TimerworkTimer(TObject *Sender)
{
get_min_http((get_http_html2(all_http.c_str())).c_str()); //抓取
view_min(); //计算并显示
}
...全文
相关推荐
继承自BCB的定时器Timer
继承自BCB控件TTimer的定时器,运用函数指针方式定时调用其他类的函数..H,CPP文件在小test程序程序中自己找. 环境WINXP,BCB6.注意,在控制台程序中不能使用.
BCB组件pngimage,让bcb支持png
给BCB用的的组件Pngimage。 安装方法:新建一个package,将四个*.pas文件加入package,然后编译安装。
BCB下的EXCEL导入数据库
1.实现可控制行和列的导入。 2.实现多sheet的查询和导入。
BCB 数据库开发
BCB 数据库开发 开发语言 c++ builder
BCB 自动关机程序 代码
BCB 环境下的 自动关机程序 代码 好像运行 不太理想


网络及通讯开发
