![]() |
1
91
使用类似HTML语法分析器
Jsoup
. 这是我最喜欢的
other HTML parsers available in Java
因为它
supports
jQuery
喜欢
CSS selectors
. 另外,它的类表示一个节点列表,
下面是一个基本的启动示例(只需将 latest Jsoup JAR file 在类路径中):
你可能已经猜到了,这打印出你自己的问题和所有回答者的名字。 |
![]() |
2
10
这被称为屏幕抓取,维基百科有这篇文章更具体。 web scraping . 这可能是一个主要的挑战,因为有一些丑陋,混乱,打破,如果不是因为浏览器聪明的HTML在那里,所以祝你好运。 |
![]() |
3
6
我会用 JTidy -这对JSoup来说很相似,但我不太了解JSoup。JTIDY处理损坏的HTML并返回W3C文档,因此您可以将其用作XSLT的源代码,以提取您真正感兴趣的内容。如果您不知道XSLT,那么您也可以使用JSoup,因为文档模型比W3C更适合使用。 编辑:在jsoup网站上快速浏览一下,可以发现jsoup确实是更好的选择。它似乎支持CSS选择器从文档中提取内容。这可能比进入XSLT要容易得多。 |
![]() |
4
4
您可以使用HTML解析器(这里有许多有用的链接: java html parser ) 这个过程称为“抓取网站内容”。搜索“抓取网站内容Java”进行进一步的反击。 |
![]() |
5
3
JToice支持Java 1.5 https://github.com/tburch/jsoup/commit/d8ea84f46e009a7f144ee414a9fa73ea187019a3 看起来那个堆栈是个bug,已经修复了 |
![]() |
6
2
JSoup解决方案很好,但是如果只需要提取一些非常简单的内容,那么使用regex或string.indexof可能会更容易。 正如其他人已经提到的,这个过程称为刮削。 |
![]() |
7
2
您可能希望查看HTML以查看是否可以找到唯一且靠近文本的字符串,然后可以使用行/字符偏移量获取数据。
如果Java中没有任何类似于XML的类,那么在Java中可能会很尴尬。
|
![]() |
8
2
你也可以试试 jARVEST . 它是基于JRuBiSDSL的一个纯Java引擎到蜘蛛刮削变换网站。 例子 :
查找网页内的所有链接(
在Java程序中:
|
![]() |
9
0
我的答案可能对这个问题的作者没有帮助(我晚了8个月,所以我猜时机不对),但我认为它可能对其他可能会遇到这个答案的开发人员有用。 今天,我刚刚(以我公司的名义)发布了一个HTML到POJO的完整框架,您可以使用它通过简单的注释将HTML映射到任何POJO类。这个库本身非常方便,并且在非常可插拔的同时还具有许多其他特性。你可以在这里看看: https://github.com/whimtrip/jwht-htmltopojo 如何使用:基础知识假设我们需要解析以下HTML页面:
让我们创建要映射到的pojos:
现在
我们在Github页面上提供了关于上述代码的更多解释。 现在,让我们看看如何废弃这个。
另一个简短的例子可以找到 here 希望这能帮上忙! |
![]() |
10
-1
查看curl库。我从来没有在Java中使用过它,但我确信它一定有绑定。基本上,你要做的就是发送一个curl请求到你想要“刮掉”的任何页面。请求将向页面返回一个包含源代码的字符串。从那里,您将使用regex解析源代码中所需的任何数据。一般来说,你就是这样做的。 |
![]() |
Softly · 单选按钮未按预期取值 1 年前 |
|
NovoMannen · 导航中的下拉菜单在内容后面重叠 1 年前 |
|
eXor420 · 如何在脚本标记中使用导出的函数? 1 年前 |
![]() |
IonicMan · 剑道网格在宽度过大时不显示某些列 1 年前 |
![]() |
Kernier · 如何将数学公式支持添加到StacksEditor? 1 年前 |
|
Md. Ibrahim · CSS网格项溢出小屏幕滚动 1 年前 |
|
Akshay mek · Vscode扩展建议不适用于某些文件夹 1 年前 |