VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3812|回复: 20

VC下提取HTML中的文本内容!在线等!急!多多指点啊!

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-3-12 23:30:01 | 显示全部楼层 |阅读模式
采用webbrowers控件如何提取html中的文本内容?

示例:
html文件:   <TD class=text_b_12_1 style="PADDING-LEFT: 30px" colSpan=2
      height=30><STRONG>第一卷 六院风云 第一集</STRONG></TD></TR>
  <TR>
    <TD class=text_o_12_2 align=middle colSpan=2 height=50><STRONG>序章
      七界传说</STRONG></TD></TR>
  <TR>
    <TD class=text_b_14_1 colSpan=2>
      <P>中华大地,山川秀丽,数千年来,在这片土地上,流传着无数的神奇传说。千古以来,一直被人们津津乐道的便是那些关于长生不老,永生不死的传奇。自古以来,凡人无不有一死。但世人皆恶死爱生,更有地府阎罗之说,平添了几分苦惧,在此之下,遂有长生不死之说,令世人梦寐以求,纷纷苦寻长生之路。<SPAN
      class=transparent>(来自·幻剑书盟)</SPAN></P>



将它提取后成为
七界传说
中华大地,山川秀丽,数千年来,在这片土地上,流传着无数的神奇传说。千古以来,一直被人们津津乐道的便是那些关于长生不老,永生不死的传奇。自古以来,凡人无不有一死。但世人皆恶死爱生,更有地府阎罗之说,平添了几分苦惧,在此之下,遂有长生不死之说,令世人梦寐以求,纷纷苦寻长生之路。


谢谢了!非常急。
回复

使用道具 举报

0

主题

10

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-6-10 19:00:01 | 显示全部楼层
没必要用webbrowers,用wininet就行了,然后用正则
回复

使用道具 举报

0

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-7-2 19:00:01 | 显示全部楼层
IHTMLElement::innerText

或像楼上说的一样。
回复

使用道具 举报

0

主题

25

帖子

19.00

积分

新手上路

Rank: 1

积分
19.00
发表于 2020-7-7 14:00:01 | 显示全部楼层
要是我就用lex
回复

使用道具 举报

0

主题

11

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-8-1 21:15:01 | 显示全部楼层
自己解析
<>***<> 之间的留下就可以了
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-8-8 14:45:01 | 显示全部楼层
我也同意楼上自己解析,CString find几下就出来了吧,
回复

使用道具 举报

0

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-8-13 11:30:01 | 显示全部楼层
自己解析,我以前写过一个类似的,不难
回复

使用道具 举报

0

主题

22

帖子

18.00

积分

新手上路

Rank: 1

积分
18.00
发表于 2020-8-21 05:45:01 | 显示全部楼层
用DOM直接取text应该是比较轻量级的解决方案
回复

使用道具 举报

0

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-8-22 16:45:01 | 显示全部楼层
const string  ExtractHTML( const string& strHTML )
{
        string strTemp = strHTML;
        while( true )
        {
                size_t szPos = strTemp.find( "<" );
                if( string::npos == szPos )
                        return strTemp;
                size_t szEnd = strTemp.find( ">", szPos );
                if( string::npos == szEnd )
                        return strTemp;
                strTemp.erase( szPos, szEnd - szPos + 1 );
        }
}
回复

使用道具 举报

0

主题

36

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-8-22 19:30:01 | 显示全部楼层
study the walkall sample in MSDN
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/samples/internet/browser/walkall/default.asp
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表