相关疑难解决方法(0)

除了XHTML自包含标记之外,RegEx匹配开放标记

我需要匹配所有这些开始标记:

<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)

但不是这些:

<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)

我想出了这个,并希望确保我做对了.我只抓住了a-z.

<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)

我相信它说:

  • 找一个小于,然后
  • 然后,查找(并捕获)az一次或多次
  • 然后找到零个或多个空格
  • 找到任何字符零次或多次,贪婪/,然后
  • 找到一个大于

我有这个权利吗?更重要的是,你怎么看?

html regex xhtml

1323
推荐指数
36
解决办法
270万
查看次数

从String中删除HTML标记

有没有一种从Java字符串中删除HTML的好方法?一个简单的正则表达式

 replaceAll("\\<.*?>","") 
Run Code Online (Sandbox Code Playgroud)

会工作,但&amp;不会正确转换,两个尖括号之间的非HTML将被删除(即.*?正则表达式将消失).

html java parsing

408
推荐指数
18
解决办法
44万
查看次数

哪个HTML Parser最好?

我编写了很多解析器.到目前为止,我使用HtmlUnit无头浏览器进行解析和浏览器自动化.

现在,我想分开两个任务.

由于80%的工作只涉及解析,我想使用轻量级HTML解析器,因为在HtmlUnit中首先加载页面需要花费很多时间,然后获取源然后解析它.

我想知道哪个HTML解析器是最好的.如果它接近HtmlUnit解析器,解析器会更好.


编辑:

最好的,我至少需要以下功能:

  1. 速度
  2. 通过"id"或"name"或"tag type"轻松找到任何HtmlElement.

如果它不清除脏HTML代码,那对我来说没问题.我不需要清理任何HTML源代码.我只需要一种最简单的方法来移动HtmlElements并从中获取数据.

html java parsing html-parsing web-scraping

187
推荐指数
3
解决办法
17万
查看次数

Java HTML解析

我正在开发一个从网站上删除数据的应用程序,我想知道如何获取数据.具体来说,我需要包含在许多使用特定CSS类的div标签中的数据 - 目前(用于测试目的)我只是在检查

div class = "classname"
Run Code Online (Sandbox Code Playgroud)

在HTML的每一行 - 这是有效的,但我不禁觉得那里有更好的解决方案.

有没有什么好方法我可以给一个类一行HTML并有一些很好的方法,如:

boolean usesClass(String CSSClassname);
String getText();
String getLink();
Run Code Online (Sandbox Code Playgroud)

html java parsing web-scraping

52
推荐指数
7
解决办法
11万
查看次数

在Java中剥离HTML标记

是否有现有的Java库提供了从String中剥离所有HTML标记的方法?我正在寻找strip_tags与PHP中的函数等效的东西.

我知道我可以使用这个Stackoverflow问题中描述的正则表达式,但是我很好奇是否已经有一个stripTags()方法可以在Apache Commons库中的某个地方浮动,可以使用.

html java

40
推荐指数
8
解决办法
6万
查看次数

从HTML Java中提取文本

我正在开发一个下载HTML页面的程序,然后选择一些信息并将其写入另一个文件.

我想提取段落标记之间的信息,但我只能获得段落的一行.我的代码如下;

FileReader fileReader = new FileReader(file);
BufferedReader buffRd = new BufferedReader(fileReader);
BufferedWriter out = new BufferedWriter(new FileWriter(newFile.txt));
String s;

while ((s = br.readLine()) !=null) {
    if(s.contains("<p>")) {
        try {
            out.write(s);
        } catch (IOException e) {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图添加另一个while循环,这将告诉程序继续写入文件,直到该行包含</p>标记,通过说;

while ((s = br.readLine()) !=null) {
    if(s.contains("<p>")) {
        while(!s.contains("</p>") {
            try {
                out.write(s);
            } catch (IOException e) {
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用.请有人帮忙.

html java screen-scraping text-extraction html-content-extraction

17
推荐指数
3
解决办法
4万
查看次数

您在Java中推荐哪些HTML解析库

我想解析一些HTML,以便找到一些属性/标签的值等.

你推荐什么HTML解析器?有什么优点和缺点?

html java parsing html-content-extraction

12
推荐指数
2
解决办法
3522
查看次数