我正在发布此消息.我试图提取无序列表.在上一个问题中,我的fomrat不正确.我试图提取数据的网站格式正确.
<ul>
<li>
<i>
<a class="mw-redirect" title="title1" href="yahoo.com">used to be a best email</a>
</i>
(1999)
</li>
<li>
<i>
<a title="title2" href="google.com">Best search enginee We Will Go</a>
</i>
(1999)
</li>
<li>
<i>
<a title="title3" href="apple.com">Best Phone</a>
</i>
(1990)
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我要打印:
TITLE1
google.com
yahoo.com
=以前是最好的电子邮件最佳搜索电子邮件将是Bestphone
类似地所有Hrefs.
我确实看到了JSOUP文档.
相关问题: jsoup用于获取无序列表中的数据 但存在格式问题.
我按照建议尝试,但它无法正常工作
我试过了:
Document doc = Jsoup.connect(url).get();
Element link = doc.select("a").last();
String title1 = link.attr("title");
Run Code Online (Sandbox Code Playgroud)
问题是这是一个包含一些信息的大页面.因为有许多无序列表..
如果您更好地格式化并指定您的要求,我的答案可能会更准确,这是您正在寻找的吗?
public static void main(String[] args) throws IOException
{
String html = "<ul><li><i><a class=\"mw-redirect\" title=\"title1\" href=\"yahoo.com\">used to be a best email</a></i>(1999)</li><li><i><a title=\"title2\" href=\"google.com\">Best search enginee We Will Go</a></i>(1999)</li><li><i><a title=\"title3\" href=\"apple.com\">Best Phone</a></i>(1990)</li></ul>";
Document doc = Jsoup.parse(html);
Elements links = doc.select("ul li i a");
for (Element element : links) {
System.out.format("%s %s %s\n", element.attr("title"), element.attr("href"), element.text());
}
}
Run Code Online (Sandbox Code Playgroud)
如果没有在您的问题中添加示例输出部分.
更新:
这个怎么运作.这ul li i a是一个CSS选择器.这意味着将a位于其中的每个元素i包含在li包含在ul标记中的标记中.(可怕的解释)
你也可以得到相同的结果doc.select("a").但具体是更好的,因为你从一些网站解析这些数据,因为链接可以在不同的地方,不同的id/class或者其他什么,你正在寻找这些特定的.
是,如果所选元素具有标题,超链接和文本值,则它将输出该数据.
| 归档时间: |
|
| 查看次数: |
6212 次 |
| 最近记录: |