社区
C#
帖子详情
一个稍微有点难度的问题:如何做HTML语法分析?
popcorn
2003-07-24 09:58:40
比如我要提炼出一个HTML文件中有多少个图片,多少个TABLE,多少个JS函数,多少个超级连接等等,然后还可以将超级连接提炼出来保存到数据库中去。象FP和DW的可视化编辑器都是如何提炼语法的?我试了很多正则表达式都很难达到理想效果,不知道哪里有好的算法去提取HTML中的标记?
提供思路、算法或者参考资料都给分。
...全文
121
14
打赏
收藏
一个稍微有点难度的问题:如何做HTML语法分析?
比如我要提炼出一个HTML文件中有多少个图片,多少个TABLE,多少个JS函数,多少个超级连接等等,然后还可以将超级连接提炼出来保存到数据库中去。象FP和DW的可视化编辑器都是如何提炼语法的?我试了很多正则表达式都很难达到理想效果,不知道哪里有好的算法去提取HTML中的标记? 提供思路、算法或者参考资料都给分。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
杨东明
2003-07-26
打赏
举报
回复
【利用 Microsoft 的 HTML 分析器来获得 Web 站点的数据】
http://www.microsoft.com/china/msdn/workshop/scrape.asp#top
看看就知道怎么做了,我想这样做才是最好的解决方案
大家一起学习....
dotnba
2003-07-26
打赏
举报
回复
听课
ArLi2003
2003-07-26
打赏
举报
回复
那用正则匹配就是了
popcorn
2003-07-26
打赏
举报
回复
楼上的理解错了,我要做的是字符串分析,不是用JS显示给客户看。
我想用正则表达式应该是最简单的了,思归给的参考方法也很不错。
ArLi2003
2003-07-26
打赏
举报
回复
var images = document.all.tags("IMG");
for (var iImgCounter = 0; iImgCounter < images.length; iImgCounter++) {
var imgTmp = images(iImgCounter);
var urlTmp = imgTmp.href;
.....
panyee
2003-07-25
打赏
举报
回复
其实每个生成的html页面都可以把它们提炼成一个xml文件, 你就寻找此文件中是否包含了<A>,
<TABLE> 这种标签的字符串, 取得它们的内容,
起始位置就是"<A...", 结束位置就是再找到一个"/A>"
然后再分析<a 里面的各个属性的名称和值,,
做起来也很有意思
可惜偶有其它东东要忙
erigido
2003-07-25
打赏
举报
回复
学习
xixigongzhu
2003-07-25
打赏
举报
回复
知道csc干嘛的把,它有个过程是词法分析器分析词法。
实际上html也是门语言,它也有词法分析器,如果不闲麻烦,可以做个简单点的词法分析器,来实现你的这些功能,这也不是很难的,只是有点麻烦。
正则表达式的话只要你的表达式精确,应该是没有问题的。
liduke
2003-07-25
打赏
举报
回复
正则表达式中不是有分组和命名捕获字符串有匹配这项吗?我觉得应该可行。
如从 URL 提取协议和端口号
String Extension(String url)
{
Regex r = new Regex(@"^(?<proto>\w+)://[^/]+?(?<port>:\d+)?/",
RegexOptions.Compiled);
return r.Match(url).Result("${proto}${port}");
}
rqxiang
2003-07-25
打赏
举报
回复
gz
popcorn
2003-07-25
打赏
举报
回复
如果碰到都是规则的HTML代码还好,要是碰到写的不很规范的(但是你不能说有错),分析起来难度就大多了.不知道大家有什么好的建议?
saucer
2003-07-24
打赏
举报
回复
or get
GotDotNet User Sample: SgmlReader 1.1
http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=B90FDDCE-E60D-43F8-A5C4-C3BD760564BC
saucer
2003-07-24
打赏
举报
回复
A Yacc grammar for HTML
http://www.di.unito.it/mail_archive/YACCHTML/0000.html
An Elementary HTML Parser
http://www.codeproject.com/csharp/HTMLParser.asp
popcorn
2003-07-24
打赏
举报
回复
JAVA中有类帮助实现,这里有篇JAVA的文章:
http://www.chinajavaworld.net/doc/lang/46.html
C#中又该如何做呢?
笔记-编译原理-实验三-自下而上
语法分析
-SLR分析法
实验三. 自上而下
语法分析
设计思想 根据对自下而上
语法分析
的理论知识的学习,可以知道自下而上
语法分析
的两种实现方法:算符优先分析法和LR分析法,本实验采用后者LR分析法 本实验对PL0文法的表达式文法进行设计自下而上
语法分析
,表达式巴斯克范式如下: 文法的初始化 <表达式>::=[+∣−]<项>{<加法运算符><项>}<项>::=<...
PL\0编译原理实验(南航)三:
语法分析
、语义分析和中间代码生成
原理 实验采用的是自顶向下的
语法分析
理论参考: https://www.cnblogs.com/X-Jun/p/11040240.
html
陈火旺那本编译原理教材
语法分析
中间代码生成
前端安全系列(一):如何防止XSS攻击?
在开始本文之前,我们先提出
一个
问题
,请判断以下两个说法是否正确:1.XSS 防范是后端 RD(研发人员)的责任,后端 RD 应该在所有用户提交数据的接口,对敏感字符进行转义,才能进行下一步操作。2.所有要插入到页面上的数据,都要通过
一个
敏感字符过滤函数的转义,过滤掉通用的敏感字符后,就可以插入到页面中。如果你还不能确定答案,那么可以带着这些
问题
向下看,我们将逐步拆解
问题
。
《编译原理》-用例题理解-自顶向下
语法分析
及 FIRST,FOLLOW,SELECT集,LL(1)文法...
《编译原理》-用例题理解-自顶向下
语法分析
及 FIRST,FOLLOW,SELECT集,LL(1)文法 此编译原理确定某高级程序设计语言编译原理,理论基础,学习笔记 本笔记是对教材《编译原理》- 张晶老师版
做
学习笔记。 最近在学《编译原理》,前三章感觉还可以理解,到了第四章就感觉这
难度
就上来了。就是说过了词法分析,刚到
语法分析
,就开始头大了,于是想
做
个笔记,本篇就是第 4 章的笔记。 (一)...
前端安全系列:如何防止XSS攻击?
前端安全 随着互联网的高速发展,信息安全
问题
已经成为企业最为关注的焦点之一,而前端又是引发企业安全
问题
的高危据点。在移动互联网时代,前端人员除了传统的 XSS、CSRF 等安全
问题
之外,又时常遭遇网络劫持、非法调用 Hybrid API 等新型安全
问题
。当然,浏览器自身也在不断在进化和发展,不断引入 CSP、Same-Site Cookies 等新技术来增强安全性,但是仍存在很多潜在的威胁,这...
C#
110,825
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章