我正在寻找一种从网页中提取HTML片段并对该HTML片段执行一些特定操作的有效方法。
所需的操作是:
我一直在使用HTML
Parser
(org.htmlparser)来完成此任务,并且能够满足所有要求,但是,我不觉得自己有一个优雅的解决方案。当前,我正在使用CssSelectorNodeFilter解析网页(以获取片段),然后使用NodeVisitor重新解析该片段以执行清理操作。
有人可以建议他们如何解决这个问题吗?我宁愿只解析一次文档并在一次解析期间执行所有操作。
提前致谢!
查看jsoup-它应该以优雅的方式处理所有必要的任务。
[编辑]
以下是您所需操作的完整示例:
// Load and parse the document fragment.
File f = new File("myfile.html"); // See also Jsoup#parseBodyFragment(s)
Document doc = Jsoup.parse(f, "UTF-8", "http://example.com");
// Remove all script and style elements and those of class "hidden".
doc.select("script, style, .hidden").remove();
// Remove all style and event-handler attributes from all elements.
Elements all = doc.select("*");
for (Element el : all) {
for (Attribute attr : el.attributes()) {
String attrKey = attr.getKey();
if (attrKey.equals("style") || attrKey.startsWith("on")) {
el.removeAttr(attrKey);
}
}
}
// See also - doc.select("*").removeAttr("style");
您将要确保属性名称等大小写无关紧要,但这应该是您所需要的大部分。
问题内容: 我正在将我的某些网络抓取代码从R转换为Python(我无法让geckodriver与R一起使用,但它与Python一起使用)。无论如何,我试图了解如何使用Python解析和读取HTML表。快速背景,这是我的R代码: 我将HTML页面解析为doc对象。然后,我将以开始,并通过更大的数字,直到看到所需的数据。在这种情况下,我去看了想要的数据。然后,我将读取该HTML表并将其分配给WebEl
以下示例将展示防止XSS攻击或跨站点脚本攻击。 语法 (Syntax) String safeHtml = Jsoup.clean(html, Whitelist.basic()); 哪里 Jsoup - 解析给定HTML String的主类。 html - 初始HTML字符串。 safeHtml - 清理HTML。 Whitelist - 提供默认配置以保护html的对象。 clean(
本文向大家介绍使用PHP的HTML DOMDocument解析HTML,包括了使用PHP的HTML DOMDocument解析HTML的使用技巧和注意事项,需要的朋友参考一下 可以通过以下代码获取<div>标记内的<div>标记内的文本,其中<div>内的class =“ main”内- 示例 输出结果 这将产生以下输出-
我一直在研究用于数据提取的Jsoup示例,并提取了此链接的一个示例 J汤
主要内容:Jsoup 清理HTML 语法,Jsoup 清理HTML 说明,Jsoup 清理HTML 示例以下示例将展示 XSS 攻击或跨站点脚本攻击的预防。 Jsoup 清理HTML 语法 Jsoup : 解析给定 HTML 字符串的主类。 html : 初始 HTML 字符串。 safeHtml : 清理过的 HTML。 Whitelist : 提供默认配置以保护 html 的对象。 clean() : 使用白名单清理 html。 Jsoup 清理HTML 说明 Jsoup 对象使用白名单配置
我在使用jsoup(Java)解析html文档时遇到了一个问题。我正在分析的HTML具有以下格式: 我想在两个“hr”标记之间隔离HTML文本。我正在尝试以下代码: 系统出来println(对象); 但是ArrayList没有包含我想要的内容,我不知道如何解决它。(我是否可以将“hr”标记转换为“hr”文本“/hr”标记)?