当前位置: 首页 > 知识库问答 >
问题:

从html元素中抓取数据

章学义
2023-03-14

我正在使用JSoup,这是纯Java中的一个HTML解析器库,从互联网上提取和解析纯HTML页面(当然,只有很少的JS)。到目前为止,如果我想要刮取的数据附加到非常详细的HTML元素(如

我可以得到

<span class="myclass">...</span>
<p>something.....</p>
<!-- We are back in the body here according to chrome devtools -->
Data1: some data here...
Data2: more data here...
...

<!-- We get a similar pile of HTML here except with different data in the span and p tags -->
<span class="myclass">...</span>
<p>something.....</p>
<!-- We are back in the body here according to chrome devtools -->
Data1: some data here...
Data2: more data here...

因此,我的问题是如何使用DOM树高效地获取数据*,或者可能我在这个问题陈述中遗漏了明显的内容,因为我无论如何都不是web开发人员,这只是一个爱好项目。

我有一些想法:预处理超文本标记语言,在这些周围放置某种标记,我可以使用JSoup轻松地拉取(如


共有1个答案

商勇
2023-03-14

我做了和你一样的事情,我发现它是更好的混合与超文本标记语言清理JSoup,基本上你需要超文本标记语言清理为了得到你的dom树,然后你可以使用JSOP

 类似资料:
  • 网页爬取 编写网页需要使用 HTML 语言,如果你有 HTML 学习经历就能知道所谓 HTML 语言就是一种规格化文档。有时我们能很方便的从中获取一些需要的数据,并且保持数据原有格式,如 csv 、json 等格式。但有时网站并不会提供一目了然的数据格式。 所以我们就需要爬取网页。网页爬取就是通过电脑程序编写,从不同的网页中去删选、挖掘你需要的数据,并且保存数据相应的格式。 网页请求( Reque

  • 我正在尝试使用preg_match当前只检索1个值(在我开始检索多个值之前),但是,我没有运气。执行print_r()时,数组中没有存储任何内容。 以下是我目前正在尝试的代码: 所需输出: 我的上述代码不起作用。在这方面的任何帮助都将不胜感激。提前感谢。

  • 问题内容: 我一直在使用正则表达式在PHP中进行HTML抓取。这是可行的,但结果是挑剔和脆弱的。有没有人使用过提供更强大解决方案的软件包?配置驱动的解决方案将是理想的选择,但我并不挑剔。 问题答案: 从页面抓取HTML后,我将推荐PHP简单HTMLDOM解析器。它支持无效的HTML,并提供了一种非常简单的方法来处理HTML元素。

  • 问题内容: 试图在页面上找到链接。 我的正则表达式是: 但似乎失败了 我该如何更改我的正则表达式以处理未置于a标签首位的href? 问题答案: 可靠的HTML正则表达式很困难。这是使用DOM的方法: 上面将找到并输出字符串中所有元素的“outerHTML”。 要 获取 节点的所有文本值,请执行以下操作 要 检查 是否属性存在,你可以做 为了 获得 该你做的属性 要 更改 的属性,你会怎么做 要 删

  • 问题 在解析获得一个Document实例对象,并查找到一些元素之后,你希望取得在这些元素中的数据。 方法 要取得一个属性的值,可以使用Node.attr(String key) 方法 对于一个元素中的文本,可以使用Element.text()方法 对于要取得元素或属性中的HTML内容,可以使用Element.html(), 或Node.outerHtml()方法 示例: String html =

  • 问题内容: 您如何从内获得一个? 问题答案: var iframe = document.getElementById(‘iframeId’); var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document; 您可以更简单地写: 并将返回第一个有效的内部文档。 一旦获