java - 动态内容解析

标签 java javascript xpath jsoup web-crawler

我正在处理内容解析我为此执行了示例程序我已经获取了示例链接 请访问以下链接

http://www.equitymaster.com/stockquotes/sector.asp?sector=0%2CSOFTL&utm_source=top-menu&utm_medium=website&utm_campaign=performance&utm_content=key-sector

Click Here

在上面的链接中,我解析了表数据并将其存储到java对象中。

BSE 和 NSE 不是我的确切要求,只是我拿的示例。上面的链接是在表中开发的,它们不使用 id 和类。在我的示例中,我使用 XPath 解析数据

这是我的 Xpath

/html/body/table[4]/tbody/tr/td/table[2]/tbody/tr[2]/td[2]/font/table[2]

我选择并解析它工作正常。如果他们更改了网站结构,将来就会出现问题,我的程序肯定无法运行。告诉我任何其他动态解析数据并能够存储在数据库中的方法。根据条件显示结果,即使它们更改了网页结构(我用于此 JSOUP api)。告诉我任何其他可为此类需求提供最佳支持的 API

最佳答案

如果您尝试解析没有任何明确 id/class 的页面来选择节点,则必须尝试依赖其他东西。重新定义整个树确实是最弱的方法,如果添加/更改任何内容,所有内容都会崩溃。

您可以尝试依靠颜色://table[@bgcolor="#c9d0e0"],“获取更多信息”字段://table[tr/td//text()="GET MORE INFO"],每行都有“更多信息”://table[.//td//text()=" More Info "]...

这个想法是找到一些理想的独特的东西(如果你找不到任何独特的标准,table[选择几个表格的颜色条件][2]在整个树上行走仍然更强),每次都出现,并将其用作 id。

关于java - 动态内容解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21251722/

相关文章:

java - Amazon 是否提供低成本云存储后门,用于通过 Google App Engine 等 Servlet 提供文件?

java - 第一年编程作业出现问题

java - SOAP 响应配对

c# - Xpath 和通配符

java - 如何在 JavaEE 中实现一个持续运行的进程

javascript - Ruby on Rails 教程中显示的销毁操作结果

javascript - 使用带有可点击箭头的 Vanilla JS 创建文本 slider

javascript - 使用屏幕分辨率的移动重定向

xpath - 如何在 XPATH 中选择此文本?

java - Java 中 xPath-Object 或 Document-Object 的文件路径