JSoup.clean() 不保留相对 URL

2024-02-19

我努力了:

Whitelist.relaxed();
Whitelist.relaxed().preserveRelativeLinks(true);
Whitelist.relaxed().addProtocols("a","href","#","/","http","https","mailto","ftp");
Whitelist.relaxed().addProtocols("a","href","#","/","http","https","mailto","ftp").preserveRelativeLinks(true);

它们都不起作用:当我尝试清理相对网址时,例如<a href="/test.xhtml">test</a>我得到了href属性已删除(<a>test</a>).

我正在使用 JSoup 1.8.2。

有任何想法吗?


问题很可能源于 clean 方法的调用。如果您提供基本 URI,则所有内容都应按预期工作:

String html = ""
        + "<a href=\"/test.xhtml\">test</a>"
        + "<invalid>stuff</invalid>"
        + "<h2>header1</h2>";
String cleaned = Jsoup.clean(html, "http://base.uri", Whitelist.relaxed().preserveRelativeLinks(true));
System.out.println(cleaned);

以上有效并保留相关链接。和String cleaned = Jsoup.clean(html, Whitelist.relaxed().preserveRelativeLinks(true))但该链接已被删除。

请注意Whitelist.preserveRelativeLinks(true) 的文档 http://jsoup.org/apidocs/org/jsoup/safety/Whitelist.html#preserveRelativeLinks-boolean-:

请注意,在处理相对链接时,输入文档必须具有 解析时设置适当的基本 URI,以便链接的协议 可以确认。无论保留相对的设置如何 links 选项,该链接必须可根据基本 URI 解析为 允许的协议;否则该属性将被删除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSoup.clean() 不保留相对 URL 的相关文章

  • Groovy XmlSlurper 获取没有子节点的节点的值

    我正在解析 HTML 并尝试获取父节点本身的值 而不获取子节点的值 HTML 示例 div a href http intro com extra stuff a Text I would like to get a href http e
  • 使用 JSoup 作为服务显示超链接的 ListView

    我最近需要收集并显示超链接列表 这很有帮助example https stackoverflow com a 73160763 230513说明使用jsoup questions tagged jsoup and a Task
  • 如何从HTML文档中获取IMG标签代码?

    我如何得到img文本中的代码 现在 如果标签如下所示 我将获得代码和 URL text text img src image gif 但如果代码是 img src image gif target blank 然后我得到 URL image
  • 如何仅从网站上刮掉 标记

    我正在研究网络爬虫 目前我抓取了整个内容 然后使用正则表达式删除
  • 如何将 Jsoup 与 Volley 一起使用?

    我有一个使用 Jsoup 和 AsyncTask 的工作示例 效果很好 我只是对表现不满意 加载包含文本和图像的简单列表页面需要 3 6 秒 我想以某种方式提高性能 所以我偶然发现了截击 谁能解释一下如何在 jsoup 中使用 volley
  • 提取元素并插入空格

    我在 python 中使用 BeautifulSoup 解析 html 我不知道如何在提取文本元素时插入空格 这是代码 import BeautifulSoup soup BeautifulSoup BeautifulSoup this b
  • 如何从 JavaScript 中的字符串中去除 HTML 标签? [复制]

    这个问题在这里已经有答案了 如何在 JavaScript 中从字符串中去除 HTML cleanText strInputCode replace lt gt gt g 蒸馏自这个网站 web archive https web archi
  • 使用 PHP 简单 HTML DOM 解析器获取注释

    我正在使用 PHP 简单 HTML DOM 解析器 我想知道是否可以提取 HTML 注释 Can you 直接来自他们的文档 Find all comment blocks es html gt find comment http simp
  • 使用 JSoup 提取 HTML 表格内容

    如何提取位于以下位置的表的内容 id 2 year 2012 acc conference gt http espn go com mens college basketball conferences stands id 2 year 2
  • 使用 Jsoup 提取 Span 标签数据

    我正在尝试使用 Jsoup 提取 html 中的特定内容 下面是示例 html 内容 div class shop section line bmargin10 tmargin10 div class price section fksk
  • 将 HTML 文件解析为 PHP

    这是将 html 文件解析为 php 的正确方法吗 RemoveHandler html htm AddType application x httpd php php htm html 保存在根文件夹中的 htaccess 文件中吗 我添
  • 使用perl从多表html文件中提取特定表[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个包含三个表的 html 文件 但我只想提取三张表中的一张 我该怎么做呢 您可以使用已知的Perl模块如 LWP WWW Mechan
  • CodeIgniter:帮助从网页获取元标记的类/库?

    我正在使用代码点火器 我想我使用哪个 php 框架并不重要 但在我编写自己的类之前 已经编写了另一个类 该类允许用户获取任何站点的页面标题和元标记 关键字 描述 如果有的话 任何能够做到这一点的 PHP 类都很棒 谢谢大家 你应该看看这个类
  • jSoup 从 类获取文本

    我有一部分 HTML 文件 格式如下 h6 class uiStreamMessage span class messageBody Welcome span h6 在该文件中 还有其他跨度类 但我只想获取所有 messageBody 范围
  • 以编程方式将网页保存到静态 HTML 文件的最佳方法

    我做的研究越多 前景就越黯淡 我正在尝试使用 Python 进行平面保存或静态保存网页 这意味着将所有样式合并到内联属性 并将所有链接更改为绝对 URL 我尝试过几乎所有免费的转换网站 api 甚至 github 上的库 没有一个是那么令人
  • Jsoup遍历DOM树时节点哈希码冲突

    我正在使用 java jsoup 构建 HTML DOM 树 其中Node hashCode 用来 但我发现在遍历DOM树时存在很多哈希码冲突 使用以下代码 doc traverse new NodeVisitor Override pub
  • antisamy 解析器强制关闭标签

    我使用 Antisamy 来验证 HTML 我的政策允许 iframe 例如 YouTube 视频 问题是 如果标签为空 像这样 清洗后会是这样的 但它应该有正常的结束标签 这会破坏之后页面上的所有内容 我已经将指令设置为使用大部分 HTM
  • Xpath 和通配符

    我尝试了几种组合但没有成功 该数据的完整 xpath 是 id detail row seek 37878 td问题是每个节点的数字部分 37878 都会发生变化 因此我无法使用 foreach 循环遍历节点 有没有办法使用通配符并将 xp
  • 用 Beautiful Soup 进行抓取:为什么 get_text 方法不返回该元素的文本?

    最近我一直在用 python 开发一个项目 其中涉及抓取一些网站的一些代理 我遇到的问题是 当我尝试抓取某个知名代理站点时 当我要求 Beautiful Soup 查找 IP 在代理表中的位置时 它并没有按照我的预期执行操作 我将尝试查找每
  • Beautifulsoup findAll 是如何工作的

    我注意到一些奇怪的行为findAll的方法 gt gt gt htmls p class slytherin p p class gryffindor p gt gt gt soup BeautifulSoup htmls html par

随机推荐

  • HTTP是无状态的,那么keep-alive是什么意思呢?

    Keep Alive 300 Proxy Connection keep alive 我们知道HTTP连接在请求得到响应时关闭 那么这是什么意思keep alive 有人可以详细说明一下吗 这意味着可以保持连接打开以请求更多资源 例如图像和
  • DDD:从哪里获取值对象列表最合适

    我有一个分配给产品的名为 产品类型 的值类型 一种产品有一种产品类型 为了允许用户从列表中选择类型 我将填充一个下拉列表 在哪里检索产品类型列表最合适 实现存储库模式的类 编辑 通过将产品代码更改为产品类型来澄清 产品类型类似于 DVD C
  • PostgreSQL 9.2:citext[] 上的 GIN 索引

    我需要加快这个查询的速度 SELECT FROM mytable WHERE value ANY citext array col LIMIT 1 where citext array col是一个 citext 数组 我尝试创建一个运算符
  • 为什么我的 Django 视图在每个页面视图中都会被点击两次?

    我似乎一辈子都找不到问题所在 非常简单 我有一个从数据库中提取的数据库对象 将其 视图 增加一 然后保存 我的视图显示增加的值 但随后我的日志显示该值再次增加 g Game objects filter slug slug distinct
  • 将dataUrl转换为blob并通过ajax提交

    我正在使用 imgly 图像裁剪器插件 针对我的应用程序稍作修改 它当前将图像转换为dataUrl并将图像输出为 base64 图像 我可以将其另存为 jpeg 我正在努力调整dataURItoBlob找到函数here https stac
  • 无法打开文档“Main.Storyboard”。无法识别的文件内容

    从 Xcode 7 更新到 Xcode 8 后 我无法打开 Storyboard 有人可以帮忙吗 里面没有显示任何错误 对于我来说 将故事板打开为 源代码 修复合并冲突 然后重新启动 Xcode 就完成了这项工作
  • 使用 PHP 将二进制数据插入 SQL Server

    我在 SQL Server 2005 数据库中有一个 varbinary MAX 字段 我试图弄清楚如何使用 PHP 将二进制数据 即图像 插入到该字段中 我使用 ODBC 连接 SQL Server 数据库 我已经看到许多示例解释了如何与
  • Qt平台插件问题Rstudio

    我正在尝试通过 RStudio 绘制 seaborn 热图 I usereticulateR 中的包 下面是我的代码 library reticulate use condaenv python36 conda auto required
  • 如何用CLOB调用REPLACE(不超过32K)

    Oracle 11g 确实提高了 CLOB 的可用性 重载了大多数字符串函数 因此它们现在可以与 CLOB 一起本地工作 然而 一位同事从他的代码中得到了这个错误 ORA 22828 input pattern or replacement
  • 如何对 django url 进行单元测试?

    除了我的应用程序之外 我的应用程序在所有地方都实现了 100 的测试覆盖率urls py 你对我如何写作有什么建议吗有意义的对我的 URL 进行单元测试 FWIW 这个问题是在我尝试测试驱动开发时出现的 并且希望在编写代码来修复它们之前失败
  • 如何通过已知路由器上的三角测量来确定我的位置?

    有没有可用的开源软件 基本上 我只想根据位置固定且已知的路由器的信号强度进行三角测量 我意识到可能存在干扰的情况 但我们还是坚持列出已知的源代码 谢谢 我不知道任何三边测量软件 有人应该编写一个开源库 看看三边测量 http en wiki
  • 错误 NETSDK1064:找不到软件包 DnsClient,1.2.0

    我有一个 Asp Net core docker 镜像 我上次尝试构建它是两个月前 现在 我在尝试构建它时遇到错误 有任何想法吗 是不是有什么东西破坏了 Microsoft docker 镜像 当尝试在 Elasticbeanstalk 实
  • Python“数组索引太多”

    我正在使用 pandas 读取 python 中的文件 然后将其保存在 numpy 数组中 该文件的尺寸为 11303402 行 x 10 列 我需要拆分数据以进行交叉验证 为此我将数据切片为 11303402 行 x 9 列的示例和 1
  • 在 Cython 类中,使用 __init__ 和 __cinit__ 有什么区别?

    代码块1使用 init cython 3 cdef class c cdef int a str s def init self self a 1 self s abc def get vals self return self a sel
  • 服务器使用 HTTP Keep-Alive 与客户端通信

    最近在一次采访中 我被问到如何处理在线聊天客户端应用程序 我经历了标准的 轮询 解决方案 但被打断了 因为面试官正在寻找 HTTP 1 1 keep alive 方法 使用 HTTP 相当长一段时间并记住重点是 无状态 这对我来说从来没有发
  • 无法对测试运行“xxxx 2011-10-20 13:00:00”进行排队。您没有执行该操作的适当权限

    我正在尝试在 C VS2010 中运行我的测试用例 但突然有一天 它开始向我展示无法对测试运行 xxxx 2011 10 20 13 00 00 进行排队 您没有执行该操作的适当权限 错误 虽然我通过我的测试进行了调试 但无法选择并运行它
  • 如果连接丢失,从 SQL Server 到 Oracle 服务器的 OpenQuery 将无限期挂起

    我有一个在 SQL Server 2005 数据库上运行的计划作业 它运行一个从视图导入数据的存储过程 该视图由一个OPENQUERY到链接的 Oracle 服务器 我无法控制 Oracle 服务器 它在地理上和虚拟上都与 Sql Serv
  • 如何重命名本地 Git 分支?

    如何重命名尚未推送到远程存储库的本地分支 Related 重命名本地和远程 Git 存储库的 master 分支 https stackoverflow com questions 1526794 rename master branch
  • 如何在 Swift 中为 iOS 制作垂直文本 UILabel 和 UITextView?

    如果您根据标题提出这个问题 但对蒙古语不感兴趣 您可能会寻找以下问答 Swift 如何旋转 UIButton 和 UILabel 的文本 https stackoverflow com questions 28717634 swift ho
  • JSoup.clean() 不保留相对 URL

    我努力了 Whitelist relaxed Whitelist relaxed preserveRelativeLinks true Whitelist relaxed addProtocols a href http https mai