怎么获取网页标签中的内容

ranysky 2007-06-12 10:59:24
我一个程序中想取得一已知网页中某些标签中的内容,例如从代码<title>CSDN社区中心</title> 中取得"CSDN社区中心"几个中文字符;或者从<img src="images/bg.jpg"></img>中的"images/bg.jpg",请问有什么好的实现方法!
...全文
459 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不错
sz403518525 2007-07-24
  • 打赏
  • 举报
回复
这一句就是返回你要的值:
strfine = (AnsiString)vaa ;
sz403518525 2007-07-24
  • 打赏
  • 举报
回复
#include <Mshtml.h>
TCppWebBrowser *web1;

IHTMLDocument2* pDocument ;
IHTMLElementCollection* p ;
IHTMLElement* link ;
long len ;
HRESULT hr ;
hr = web1->Document->QueryInterface(IID_IHTMLDocument2,(void**)&pDocument) ;
if( !SUCCEEDED(hr) )
{
ShowMessage("链接出错了啊") ;
return false;
}

pDocument->get_all(&p) ;
pDocument->Release() ;
p->get_length(&len) ;
for(int i=0;i<len;i++)
{
IDispatch* pDisp ;
Variant j ;
p->item((Variant)i,j,&pDisp);
hr = pDisp->QueryInterface(IID_IHTMLElement,(void**)&link) ;
if( !SUCCEEDED(hr) )
return false;
pDisp->Release() ;
wchar_t* input ;
link->get_tagName(&input) ;//你可以改成你要的

if( wcscmp(input,L"INPUT")==0 ) //提取所有的input,你可以改成你要的
{
VARIANT v ;
link->getAttribute(L"NAME",0,&v) ;
wchar_t* va = v.bstrVal ;
AnsiString str = (AnsiString)va ;

if (str == name) //提取name为你想要的那一项,因为name是唯一的
{
VARIANT va;
link->getAttribute(L"VALUE",0,&va) ;
wchar_t* vaa = va.bstrVal;
strfine = (AnsiString)vaa ;
break;
}
}
link->Release() ;
}
sharkxie 2007-07-24
  • 打赏
  • 举报
回复
用CppWebBrowser1也可以获取网页内容,特别是对已知网页中某些标签中的内容比较适合
linuxghs 2007-07-24
  • 打赏
  • 举报
回复
用IdHttp控件获得网页的内容。
AnsiString strbody;
strbody = IdHTTP1->Get(url);
strbody就是这个url里的代码,然后再分析这个代码就可以了。
比如Pos、SubString等函数
ranysky 2007-06-12
  • 打赏
  • 举报
回复
我要用BCB编程实现阿,正则可以么?请贴点代码,谢谢
  • 打赏
  • 举报
回复
MSDOM模型解析 msxml.dll
或者用正则解析也可以
ranysky 2007-06-12
  • 打赏
  • 举报
回复
没有人回答?分太少还是我没说清楚?
pp616 2007-06-12
  • 打赏
  • 举报
回复
纯字符串操作。c标准函数有一堆 stl里有一堆 Vcl里也有有堆 还有正则 会用哪个就用哪个。都能实先你要的功能。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧