什么是使用Java设施检测HTML页面内数据类型的最佳方法DOM API,regexp等? 我想检测类似Skype的插件为电话/ Skype的数字,类似的地址,电子邮件,时间等类型如何检测HTML页面内的不同数据类型?
回答
'类型'是一种不适用于你所指的信息。 DOM API或正则表达式的选择取决于页面内的信息结构。
如果您知道结构(例如,用于显示信息的表格,您已经知道哪个单元格可以找到电话号码以及哪个单元格可以找到电子邮件地址),那么使用DOM API 。
否则,您应该对纯HTML文本使用正则表达式而不解析它。
如果DOM API没有找到匹配的关闭标签,DOM API是否会变得疯狂?你不能指望所有的页面格式良好。 – user183037 2011-04-09 03:02:41
@user取决于你正在使用的API实现。有很多这样的成熟实现能够很好地迎合不合格页面。我有很好的眼镜蛇解析器的经验:http://lobobrowser.org/cobra.jsp – craftsman 2011-04-09 09:47:16
我会使用正则表达式以下顺序:
- 只提取正文内容
- 删除所有标签只留下纯文本的文本
- 比赛有关的图案
当然,这假定标记不提供提示,并且您纯粹提取数据,而不是修改页面上下文。
希望这有助于
菲尔Lello
嘿菲尔, 这真的很多工作。此外,问题之一是找到相关类型的原因,其中一些非常相似,如货币,号码和电话号码,这使得正则表达式的使用非常复杂 – 2011-04-14 19:06:10
- 1. 页面中的不同内容类型
- 2. 如何检索HTML页面内的URL?
- 3. html页面上的不同XML数据
- 4. PHP上的内容类型HTML页面
- 5. 如何检测数据库类型?
- 6. 如何检测移动到不同的域名页面?
- 7. C如何在内存中存储不同的数据类型?
- 8. 如何检测页面不透明度?
- 9. 如何检测嵌入在另一个html页面内的html页面中的事件?
- 10. 页面加载HTML页面的不同内容
- 11. 检测参数是否为Javascript HTML元素数据类型
- 12. 的Python - 单元测试类,从HTML页面中提取数据
- 13. 如何检测并自动打开不同类型的文件?
- 14. 如何存储数据的HTML页面
- 15. 取决于构建类型的不同ASP.NET 4页面内容
- 16. 如何根据用户显示不同的视图/ HTML页面?
- 17. 页面内容类型
- 18. 如何建模一个页面可以有不同内容类型的数据库?
- 19. AJAX从大型HTML页面获取数据作为大型HTML页面加载
- 20. html不同的页面内容取决于点击的内容
- 21. 如何检测HTML页面上的文件拖动
- 22. 如何使用jsp关键字从html页面检索数据?
- 23. 如何根据页面内容加载不同的图像?
- 24. 在Python中检测数据类型
- 25. 自动检测/转换数据类型?
- 26. 预测不同类型的数据集,而不需要一个
- 27. 如何检测wordpress中的子页面?
- 28. 如何用Javascript/Jquery/HTML包含不同的HTML页面?
- 29. 如何从页面检索数据?
- 30. 如何通过Java从特定的HTML页面检索内容
如果你想答非所问,你需要给这个问题的更多细节。这些任意的网页,或者你知道结构的特定网页?他们是否形成良好?网页或任何地方的知名地点的价值?你关心它们是否对用户可见?这是一个网络爬行问题,你是否试图在浏览器插件中执行此操作?一般来说,你想要做什么? – 2011-04-09 03:38:47
Hey Stephen, 这是具有不同结构,表格,列表,设计元素等的通用html页面。 我想验证只对用户元素可见。 这是测试问题,黑匣子。爬行可能是一个最佳选择,但我也可以考虑浏览器插件 – 2011-04-14 18:57:16