热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

知道一个html的源代码(就是含有

若html源码是:<!DOCTYPEHTMLPUBLIC-W3CDTDHTML4.0TransitionalEN><HTML><HEA
若html源码是:





aaaaaaaaaaaaaaaaaaaaaa


那我就只要获取其纯文本:aaaaaaaaaaaaaaaaaaaaaa,其他的都不要

这要如何呢???????????

23 个解决方案

#1


1:用xml 来做Html页面 很容易就取到了

2:用innerHTML试试

3:用正则表达式?

#2


我用的是VC编程工具,能不能给个例子。thx.
接口参数是html的源码,那这要如何了。

#3


http://www.yesky.com/20001130/140045.shtml
这是用vb实现的,你可以参考一下

#4


可以先创建一个隐藏的HtmlView,载入上述HTML,再取得其body 的 IHTMLElement interface,
调用get_outerText即可

#5




楼上能否稍微详细介绍一下。这个办法应该比较简单好用。

#6


元素节点有个get_outerText属性

#7


>可以先创建一个隐藏的HtmlView,载入上述HTML,再取得其body 的 IHTMLElement >interface,
>调用get_outerText即可
直接创建HTMLDocument对象就可以了
去微软网站搜索walkall示例

#8


用walkall就可以
然后查找IHTMLDivElement接口

#9



我用WebBrowser2,可以打开url,还可以看到网页,但得到的body是NULL, 但hr返回值居然是S_OK. 我晕了。

walkall实例没有找到。



#10



刚找到,正在看,谢谢楼主和楼上的各位。

#11


就是html文件转换为text的问题,这样的程序网上可以找到的,你自己用狗哥搜一下类似html2text的东西应该能找到。

#12


没那么麻烦,读入文本文件,去掉 <> 和之间的东西就可以了,要控制格式的话麻烦一点。

#13


不错

#14




<>以外,还有很多东西不属于正文,比如function.

#15


>> <>以外,还有很多东西不属于正文,比如function.

没关系呀,对于一些特殊标记特殊处理一下就好了,比如 、 等。

#16


可以解析,我这里有个DLL,人家写的

#17


比较苯:
void CDownInfoDlg::OnDown()
{
// TODO: Add your control notification handler code here
CEdit* pURL=(CEdit*)GetDlgItem(IDC_URL);
CString strURL;
pURL->GetWindowText(strURL);

CEdit* pLayer=(CEdit*)GetDlgItem(IDC_LAYER);
CString strLayer;
pLayer->GetWindowText(strLayer);

CStringArray m_URL;
m_URL.Add("http://www.sanhaostreet.com/price/secondindex.asp?kind=1");
m_URL.Add("http://www.sanhaostreet.com/price/secondindex.asp?kind=2");
m_URL.Add("http://www.sanhaostreet.com/price/secondindex.asp?kind=3");
m_URL.Add("http://www.sanhaostreet.com/price/secondindex.asp?kind=5");
m_URL.Add("http://www.sanhaostreet.com/price/secondindex.asp?kind=6");
m_URL.Add("http://www.sanhaostreet.com/price/secondindex.asp?kind=7");
m_URL.Add("http://www.sanhaostreet.com/price/secondindex.asp?kind=8");
m_URL.Add("http://www.sanhaostreet.com/price/secondindex.asp?kind=9");

for(int kIndex=0;kIndex {
strURL=m_URL.GetAt(kIndex);
int iPageCount=0;
CString strNextPageHref="";
BOOL bRun=FALSE;
//递归处理
RUN:
strNextPageHref="";
bRun=FALSE;
CFile m_File;
CFileException m_FileException;
try
{
if(m_File.Open(DownURL(strURL),CFile::modeRead|CFile::shareDenyRead|CFile::typeText,&m_FileException)!=0)
{
char pBuf[1024*100];
m_File.Read(pBuf,m_File.GetLength());
CString strBuf;
strBuf=pBuf;

CString strCategory;
int iKindBegin=strBuf.Find("按类别",0);
iKindBegin=strBuf.Find(" iKindBegin=strBuf.Find(">",iKindBegin);
int iKindEnd=strBuf.Find("",iKindBegin);
strCategory=strBuf.Mid(iKindBegin+1,iKindEnd-(iKindBegin+1));
strCategory.Replace(" ","");
//AfxMessageBox(strCategory,MB_ICONINFORMATION);

int iPos;
iPos=0;
iPos=strBuf.Find("href=",iPos);
CString strCompany;
while(iPos!=-1)
{
strCompany=strBuf.Mid(iPos+5+1,strBuf.Find(" ",iPos)-(iPos+5)-2);
if(strCompany.Find("showdata.asp",0)!=-1)
{
CString strName=strBuf.Mid(0,iPos+5+1);
int iBegin=strName.Find("",strName.GetLength()-400);
int iEnd=strName.Find("",iBegin);
strName=strName.Mid(iBegin+32,iEnd-(iBegin+32));
strName.Replace("\r\n","");
strName.Replace(" ","");
m_List.InsertItem(0,strCategory);
m_List.SetItemText(0,1,strName);
m_List.SetItemText(0,2,"http://www.sanhaostreet.com/price/"+strCompany);
}
iPos=strBuf.Find("href=",iPos+5);
}
if(strBuf.Find("下一页",0)!=-1)
{
int iNextPageBegin=strBuf.Find("上一页",0);
if(iNextPageBegin==-1)
{
iNextPageBegin=strBuf.Find("当前为第",0);
}
iNextPageBegin=strBuf.Find(" int iNextPageEnd=strBuf.Find("\">",iNextPageBegin+9);
strNextPageHref=strBuf.Mid(iNextPageBegin+9,iNextPageEnd-(iNextPageBegin+9));
if(strNextPageHref.Find("secondindex.asp?kind=",0)!=-1)
{
iPageCount++;
bRun=TRUE;
}
}
}
m_File.Close();
//递归处理
}
catch(CException *e)
{
e->ReportError();
}
if(bRun)
{
strURL="http://www.sanhaostreet.com/price/"+strNextPageHref;
//AfxMessageBox(strURL,MB_ICONINFORMATION);
goto RUN;
}
}
//AfxMessageBox("遍历完成",MB_ICONINFORMATION);
OnImportTxt();
}

#18


UP,Good!

#19



多谢大家支持。

可能本贴分数不够用。希望能够开个新贴给热心的朋友相应的分。

#20


帮顶混分啦
不太明白

#21


Use XML,use MSDOM ,it is quite easy!

#22


CComPtr pHtmlDoc2 = (IHTMLDocument2*)GetHtmlDocument();
if(pHtmlDoc2)
{
HRESULT hr = S_OK;
CComPtr pBodyElement;
hr=pHtmlDoc2->get_body( &pBodyElement); 
if(pBodyElement!=NULL) 

//BSTR pbBody = strConten.AllocSysString();
hr=pBodyElement->put_innerHTML(CComBSTR(strConten)); //类似的还有put_innerTEXT
return true;

}

#23


一定要学习。

推荐阅读
  • 本文深入解析了 Apache 配置文件 `httpd.conf` 和 `.htaccess` 的优化方法,探讨了如何通过合理配置提升服务器性能和安全性。文章详细介绍了这两个文件的关键参数及其作用,并提供了实际应用中的最佳实践,帮助读者更好地理解和运用 Apache 配置。 ... [详细]
  • 在《PHP应用性能优化实战指南:从理论到实践的全面解析》一文中,作者分享了一次实际的PHP应用优化经验。文章回顾了先前进行的一次优化项目,指出即使系统运行时间较长后出现的各种问题和性能瓶颈,通过采用一些通用的优化策略仍然能够有效解决。文中不仅详细阐述了优化的具体步骤和方法,还结合实例分析了优化前后的性能对比,为读者提供了宝贵的参考和借鉴。 ... [详细]
  • Vuex 实战进阶:构建高效笔记本应用(第二篇)
    在上一篇文章中,我们初步探讨了 Vuex 在该项目中的应用。本文将深入解析整个项目的架构设计。首先回顾 `main.js` 的内容,然后重点分析 `App.vue` 文件,其中引入了 `Toolbar.vue` 和 `NodeList.vue` 组件,详细说明它们在应用中的作用和交互方式。通过这些组件的协同工作,我们将展示如何构建一个高效且响应迅速的笔记本应用。 ... [详细]
  • React组件是构成用户界面的基本单元,每个组件都封装了特定的功能和逻辑,具备高度的独立性和可复用性。通过将不同大小和功能的组件组合在一起,可以构建出复杂且功能丰富的页面,类似于拼图游戏中的各个部分,最终形成一个完整的视觉效果。 ... [详细]
  • 本文介绍了如何通过掌握 IScroll 技巧来实现流畅的上拉加载和下拉刷新功能。首先,需要按正确的顺序引入相关文件:1. Zepto;2. iScroll.js;3. scroll-probe.js。此外,还提供了完整的代码示例,可在 GitHub 仓库中查看。通过这些步骤,开发者可以轻松实现高效、流畅的滚动效果,提升用户体验。 ... [详细]
  • 智能制造数据综合分析与应用解决方案
    在智能制造领域,生产数据通过先进的采集设备收集,并利用时序数据库或关系型数据库进行高效存储。这些数据经过处理后,通过可视化数据大屏呈现,为生产车间、生产控制中心以及管理层提供实时、精准的信息支持,助力不同应用场景下的决策优化和效率提升。 ... [详细]
  • 本文深入探讨了 Vue.js 中异步组件的应用与优化策略。首先,文章介绍了异步组件的基本概念及其在现代前端开发中的重要性。为了确保最佳实践,建议使用 Webpack 作为模块打包工具,因为 Browserify 默认不支持异步组件的加载。接着,详细解释了异步组件的使用方法,并提供了官方文档的相关链接以供参考。此外,文章还讨论了多种优化技巧,包括代码分割、懒加载和性能调优,以提升应用的整体性能和用户体验。 ... [详细]
  • 解决手机浏览器无法加载CSS文件的技术方法与常见问题分析
    针对手机浏览器无法加载CSS文件的问题,本文提出了几种有效的解决方案:首先,确保CSS文件路径正确无误;其次,统一CSS文件和网页的编码格式;最后,检查并修正文件后缀的MIME类型设置,以确保浏览器能够正确识别和解析CSS文件。此外,还探讨了可能导致该问题的其他常见原因,如缓存问题和服务器配置错误等。 ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • 为了有效保护U盘免受病毒侵扰,我决定为一位经常受到学校电脑病毒困扰的专业课老师的U盘提供全面的安全防护。本文将详细介绍几种有效的防病毒措施,包括使用右键菜单安全打开U盘、安装可靠的杀毒软件以及定期更新系统和驱动程序,确保数据安全无忧。 ... [详细]
  • Java虚拟机内存管理与优化技术深入解析
    Java虚拟机内存管理与优化技术深入解析 ... [详细]
  • 本项目在Java Maven框架下,利用POI库实现了Excel数据的高效导入与导出功能。通过优化数据处理流程,提升了数据操作的性能和稳定性。项目已发布至GitHub,当前最新版本为0.0.5。该项目不仅适用于小型应用,也可扩展用于大型企业级系统,提供了灵活的数据管理解决方案。GitHub地址:https://github.com/83945105/holygrail,Maven坐标:`com.github.83945105:holygrail:0.0.5`。 ... [详细]
  • 结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法
    结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
  • Storm学习心得:深入探讨消息可靠传输与一致性事务处理
    在本文中,我们深入探讨了Storm框架在消息可靠传输与一致性事务处理方面的核心机制。通过对消息处理流程的详细分析,结合实际案例,阐述了如何确保数据在分布式环境中的一致性和可靠性。此外,还介绍了Storm中的事务拓扑设计及其在高并发场景下的应用,为开发者提供了宝贵的实践经验和优化建议。 ... [详细]
author-avatar
lucky2502882647
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有