我正在从事一个个人项目,希望解析这个html并从中检索信息。
基本上,我希望获得
标记中给出的所有信息,为此,我在java中使用JSOUP。
<html>
</head>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" style="">
<tbody>
<tr style="">
<td>
<p class="MsoNormal">
<span style="">
<span style="font-size:9.0pt; font-family:"Arial",sans-serif">
<br>
<br>Information:
<br>
<br>Legal Business Name
<br>Asfdsf
<br>
<br>Phone
<br>(718) 43543
<br>
<br>Principle Name 1
<br>afdsgsfgsg df
<br>
<br>Bus Street Address
<br>sdfdsf
<br>
<br>Bus City
<br>sdfdsf
<br>
<br>Bus State
<br>ny
<br>
<br>Bus Zip Code
<br>4324324
<br>
<br>Email Address
<br>dsfdsfds@xyz.com
<br>
<br>Tertiary Email Address
<br>--- No answer ---
<br>
<br>Business Website Address
<br>dsfdsf.com
<br>
<br>DBA info same as Business
<br>
<br>DBA information is same as Business.
<br>
<br>DBA Name
<br>Awqeewd gdfg
<br>
<br>DBA Street Address
<br>dsfdsf 3432 fdgdf
<br>
<br>DBA City
<br>NORTH
<br>
<br>Attachments:
</span>
</span>
</p>
<p class="MsoNormal">
<span style="">
</span>
</p>
</div>
</body>
</html>
我使用这段代码来获取,但这是在一个段落中给出所有值。
Document doc = Jsoup.parse(htmlString);
List<String> valueList = new ArrayList<>();
Elements keyElements = doc.getElementsByTag("td");
for (Element keyElement : keyElements) {
String value = keyElement.text();
// store in value list
}
我也试过了
doc.getElementsByTag("br");
但他的观点是空泛的。
有人能帮我以更好的方式获得这些数据吗?
您可以使用此解决方案:
Document.OutputSettings outputSettings = new Document.OutputSettings();
outputSettings.prettyPrint(false);
doc.outputSettings(outputSettings);
doc.select("br").before("\\n");;
doc.select("p").before("\\n");
String str = doc.html().replaceAll("\\\\n", "\n");
String strWithNewLines = Jsoup.clean(str, "", Safelist.none(), outputSettings);
System.out.println(strWithNewLines);
它必须是getElementsByTagName。T.T
在像这样的网站上http://wikitravel.org/en/San_Francisco,诸如“Districts”、“Understand”、“Get in”等部分实际上并不包含HTML中的整个部分。节实际上只是标题中的跨类。正因为如此,我们不能简单地通过选择id来获取wiki文档的某些部分。 但是,是否可以收集两个标记之间的所有html?比如说我想要“四处走动”部分。我该如何发出一个选择器
我试图获取提供的html(跨度)之间的数据(在本例中为31) 以下是原始代码(来自chrome中的inspect elements) 我有一个包含页面源代码的富文本框,下面是相同的代码,但是在富文本框的第51行: 我将如何做到这一点?我已经尝试了几种方法,但似乎都不适合我。 我试图从这一页检索点值:http://www.subxcess.com/sub4sub.php根据谁潜艇你的数量变化。
我去一个标签名
嗨,我有一个html文件解析的场景。我正在使用jsoup解析html文件,解析后我想提取头标记(h1、h3、h4)。我用过医生。select()但它将只返回标题标记值,但我的要求是我应该提取h1到h3或h4之间的标记,反之亦然。 所以这里首先搜索html字符串是否包含任何H1,H3,H4。这里我们有h4,所以包括h4,它应该搜索下一个h1或h3,直到h3我们提取字符串并把它放在一个单独的html文
问题内容: 我正在尝试获取2 h1标签之间的所有html。实际的任务是根据h1(heading 1)标签将html分成几帧。 感谢任何帮助。 谢谢苏尼尔 问题答案: 如果要获取和处理两个连续标签之间的所有元素,则可以处理同级对象。这是一些示例代码:
所以我尝试从pretag获取数据,我设置doc连接到url选择pretag,结果出错了,我需要获取的数据按这里