分又不能换钱,判断"href=",取后面的连接地址,你不会写递归?不过,我想这连接是无止尽的,最好设定层数并判断这个地址是否已经下载。
解决方案 »
- 关于Application.ProcessMessages奇怪的问题,代码贴出来请老师指点
- delphi浏览器在原窗口打开
- 如何编程实现隐藏或改变本机IP?
- 请问哪有Delphi4.0下载?
- 哪有HDBGrid控件下载
- 是不是用到 IE 扩展编程:点网页连接打开本程序中的一个过程?
- delphi TServerSocket与TClientSocket传送文件 Client发送一次文件server的read事件被触发了几千次
- 请问有开发医院系统的delphi程序员吗?欢迎讨论对电子病历的理解。
- 请教大虾条码打印问题
- 关于webbrowser?
- 难道窗体Show时窗体上的控件还没建立的吗?
- 150分求解 IIS 与 com组件问题
能不能讲详细一点呢? 谢谢!
B又链A,
你下载A->B->A->B....
你头白了,
程序告诉你,
不要急,就快完了,还剩下一个。
将你的哪个控件EMAIL给我吧: [email protected] 如果你有VCL的又有源码的最好。
但是碰到asp,cgi的你怎么分析呀?
其实webzip就有这个功能了
不管是什么程序编的,用idhttp或nmhttp读出来的都是html。
lbsoft(lbsoft):
没收到?那我再发一次
email收到了,但你的列子太简单了,有些参数都不知道是什么意思?不过还是谢谢你。
CppWebBrowser当前文件中所有的链接信息.标识为:<a href>...</a>
TCppWebBrowser类的Document属性是个IDispatch接口,利用该接口通过QueryInt
erface方法可以得到其他接口,如常用的IHTMLDocument2接口,然后通过各种接口
的方法可以达到对HTML文件的操作。
核心代码如下:
//首先判断控件是否已经下载HTML完毕
if( CppWebBrowser1->ReadyState!=4)
{
ShowMessage("not Completed");
return ;
}
IHTMLDocument2* pDocument ;
IHTMLElementCollection* p ;
IHTMLElement* link ;
long len ;
HRESULT hr ;
//获得IHTMLDocument2接口
hr = CppWebBrowser1->Document->QueryInterface(IID_IHTMLDocument2,(v
oid**)&pDocument) ;
if( !SUCCEEDED(hr) )
{
ShowMessage("hehe") ;
return ;
}
//得到Document中所有的Element
pDocument->get_all(&p) ;
pDocument->Release() ;
p->get_length(&len) ;
for(int i=0;i<len;i++)
{
IDispatch* pDisp ;
Variant j ;
//得到Collection中的第i个Element
p->item((Variant)i,j,&pDisp) ;
hr= pDisp->QueryInterface(IID_IHTMLElement,(void**)&link) ;
if( !SUCCEEDED(hr) )
return ;
pDisp->Release() ;
wchar_t* name ;
//提取tag属性
link->get_tagName(&name) ;
if( wcscmp(name,L"A")==0 )
{
VARIANT v ;
//提取href属性
link->getAttribute(L"HREF",0,&v) ;
wchar_t* va = v.bstrVal ;
AnsiString str = (AnsiString)va ;
ShowMessage(str) ;
}
link->Release() ;
}取出网页内容