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

使用J汤解析html和javascript

周云
2023-03-14

我正在使用以下命令解析包含HTML标记和javascript标记的HTML字符串

public Document parse(String content) {
    return Jsoup.parse(content, "", Parser.xmlParser());
  }

问题在于 Javascript 元素只包含在一行中。

另外,我已经尝试过

public Document parse(String content) {
    return Jsoup.parse(content, "", Parser.htmlParser());
  }

这适用于Javascript…但是超文本标记语言元素已经包含在没有结束标记的元素中。例如:

<link rel="shortcut icon" href="../../static/public/img/favicon.ico" data-th-remove="all"></link>

已被解析为

<link rel="shortcut icon" href="../../static/public/img/favicon.ico" data-th-remove="all">

当我运行我的应用程序时,它不起作用。

我该如何解决这个问题?有没有办法使用JSOUP一起解析HTML和脚本?

注意:我刚刚在 JSOUP gitHub 上创建了以下问题 https://github.com/jhy/jsoup/issues/774

问候

共有1个答案

宗政洋
2023-03-14

link元素在HTML中没有结束标记。它只出现在标题中。看见https://developer.mozilla.org/de/docs/Web/HTML/Element/link以便于解释。

因此,当您使用< code>Parser.htmlParser()时,JSoup的行为与预期的一样

Cab你更详细地解释一下,为什么你不能处理一个未关闭的link标签?

 类似资料:
  • 在<code>HTML</code>页面中,我想选择<code>javascript</code>变量的值 下面是页面的片段: 我的目标是使用< code>jsoup从该页面读取变量< code>key的值。< br >可以使用< code>jsoup吗?如果是,那么怎么做?

  • 我从互联网上复制了一个简单的网络爬虫,然后开始在测试类中运行该应用程序。每次我尝试运行该应用程序时,我都会得到“线程中的异常”主“java.lang.NoClassDefFoundError: org/j的/J的”错误。我首先在Libary中导入了一个外部罐子,因为我需要它来处理超文本传输协议的事情。 错误消息: 蜘蛛类 蜘蛛腿类 SpiderTest类 包装com.copiedcrawler;

  • 问题内容: 我正在尝试使用BeautifulSoup从网页中提取表格的HTML代码。 我想知道为什么下面的代码可以与一起使用,如果我更改为,则可以打印回去。 问题答案: 文档中有一个特殊的段落,称为“解析器之间的差异”,其中指出: Beautiful Soup为许多不同的解析器提供了相同的接口,但是每个解析器都是不同的。不同的解析器将从同一文档创建不同的解析树。最大的区别在于HTML解析器和XML

  • 我使用beautifulsoup查找网页上的页数,但在编写代码时: 它给出了以下错误: 回溯(最近一次调用):文件“C:/Users/HangaarLab/Desktop/sonartik/sonartik.py”,第13行,在soup=BeautifulSoup(response.text)TypeError中:“模块”对象不可调用 在另一台计算机中,代码运行,但它给出了以下警告: UserWa

  • 我在使用jsoup(Java)解析html文档时遇到了一个问题。我正在分析的HTML具有以下格式: 我想在两个“hr”标记之间隔离HTML文本。我正在尝试以下代码: 系统出来println(对象); 但是ArrayList没有包含我想要的内容,我不知道如何解决它。(我是否可以将“hr”标记转换为“hr”文本“/hr”标记)?

  • 我想解析出这个Nasa页面上的描述,页面底部的文字 我该怎么做?